eventcast
v0.1.1Eventcast
Network event emitter.
npm install eventcast
How it works
Eventcast uses UDP multicast to send messages to multiple nodes and to receive them. The goal is to provide a network event emitter where nodes can dynamically exchange data via familiar event API.
Checkout example folder to see it in action.
Usage
Create an instance of eventcast
and add some events:
var ec1 = Eventcast(9000) // port 9000
ec1.start()
ec1.on('myevent', handleEvent)
var ec2 = Eventcast(9000) // port 9000
ec2.start()
ec2.emit('myevent', 'hello')
REPL
eventcast
creates a REPL that provides access to all instance methods and properties. REPL binds to a random port unless replPort
is passed to the constructor.
$ telnet localhost 20001
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
eventcast@hostname> eventcast.stop()
true
eventcast>
Configuration
TODO. See default configuration values overridable in the constructor.
API
Eventcast is an instance of Event Emitter, therefore it supports Event Emitter API. Internally, #emit
is the only method that is not real EE method but a wrapper for events.EventEmitter.emit
that first sends out messages and then emits the event.
Eventcast#emit(event, [arg1], [arg2], [...])
Sends out event as event
with supplied arguments. Arguments must be serializable into JSON because they're going to be sent over the network.
Eventcast#on(event, listener)
Adds a listener for event
.
… and the rest of EventEmitter API.
Eventcast#logLevel([component], [level])
(Eventcast uses bunyan to log) If called with no arguments - returns an array of levels for all streams.
Call with level
will set all streams to level
.
Called with component
and level
will set that component to given level. Eventcast has two components so far - eventcast
and repl
. eventcast
is the root logger.
Eventcast#start([callback])
Starts the UDP server. callback
will be called when server is bound and ready.
Eventcast#stop([callback])
Stops the UDP server. callback
will be called when server is shutdown.
Source Code
[email protected]:diversario/ev...Metadata
- MIT
- Whatever
- Ilya Shaisultanov
- released 8/13/2013