# Functions

Consume an item by writing it to the specified WriteCloser.
CreateFrameStreamer sets up and event bus, subscribes a SimpleStreamer to the gossip topic, and sets the right preprocessors up for the gossip topic.
CreateGossipStreamer sets up and event bus, subscribes a SimpleStreamer to the gossip topic, and sets the right preprocessors up for the gossip topic.
New returns new EventBus with empty listeners.
NewCallbackListener creates a callback based dispatcher.
NewChanListener creates a channel based dispatcher.
NewGossipStreamer creates a new GossipStreamer instance.
NewRouterStreamer instantiate RouterStreamer with empty list.
NewSafeCallbackListener creates a callback based dispatcher.
NewSafeChanListener creates a channel based dispatcher which is thread-safe.
NewSimpleCollector is a simple wrapper around a callback that redirects collected buffers into a channel.
NewSimpleStreamer returns an initialized SimpleStreamer.
NewStreamListener creates a new StreamListener.
NewStreamListenerWithParams instantiate and configure a Stream Listener.
NewStupidStreamer returns an initialized SimpleStreamer.

# Variables

ErrMsgChanFull underlying queue fails to accept new message due to full buffer.
ErrRingBufferClosed underlying ring buffer is closed.

# Structs

CallbackListener subscribes using callbacks.
ChanListener dispatches a message using a channel.
Collector is a very stupid implementation of the wire.EventCollector interface in case no function would be supplied, it would use a channel to publish the collected packets.
TopicProcessor is the interface for preprocessing events belonging to a specific topic.
GossipStreamer is a SimpleStreamer which removes the checksum and the topic when reading.
RouterStreamer reroutes a gossiped message to a list of EventBus instances.
SimpleStreamer is a test helper which can capture information that gets gossiped by the node.
StreamListener uses a ring buffer to dispatch messages.
StupidStreamer is a streamer meant for using when testing internal forwarding of binary packets through the ring buffer.

# Interfaces

TopicProcessor is the interface for preprocessing events belonging to a specific topic.
Listener publishes a byte array that subscribers of the EventBus can use.
Multicaster allows for a single Listener to listen to multiple topics.
Publisher publishes serialized messages on a specific topic.
Subscriber subscribes a channel to Event notifications on a specific topic.