jinroh/kadoh — Issue #31: EventEmitter to report activity
Author: alexstrat
Created: 2011-11-15 00:20:05+00:00
State: open

Bon alors comme on en avait discuter, je pense qu'il sera plus simple de faire un gros "EventManager" pour tout KadOH plutôt que chaque objet (RoutingTable , les KBuckets...) soient chacun un EventEmitter auquel il faudra s'abonner individuellement..

### Avantages :
- on s'occupe d'ajouter des listeners qu'à un seul endroit, c'est à dire à l'endroit où on en a vraiment besoin : juste avant un console-log, à l'update d'une UI ou avant de l'envoyer dans socket.io pour un report à distance.
- pas d'extension de classe qui peut-être badante.

### Petits inconvénients
- faudrait faire gaffe à faire un namespace des events "intelligent" et à donner des arguments "utiles" aux listeners, avec une bonne doc.

### Petits plus
Y'a moyen de faire un systeme de namespace comme dans celui de [EventEmitter2](https://github.com/hij1nx/EventEmitter2) qui permet de s'abonner à des events qui matchent un pattern (eg `foo:bar`)... Mais je trouve l'intêret finalement limité.

### Démystification
Un systeme d'EventEmitter n'est en fait qu'un tableau de callback quoi qu'il arrive. Jette un coup au module `event` de Node.js, c'est déconcertant de simplicité.

### Du coup..
Je vasi essayer de mettre en place ce truc rapidement, comme ça on rajoute des emitions d'event un peu partout rapidement..