An experimental broker for the Radiodan ecosystem
Make sure you have ZeroMQ library bindings for 4.X. For osx and homebrew,
you can install these with brew install zeromq. Otherwise, please follow
the official
installation instructions.
Install the prerequisites with godep restore.
Compile binary with go build,
then run with ./broker --help to see all available options.
We presume (but unless specificed, do not enforce) JSON as the encoding format
for the payload.
By default, subscribers connect to port 7172 to recieve data. Publishers
connect to port 7173.
Subscribers can recieve message for multiple topics. Topic names are in the
format x.y.z, where . is the delimiter. There can be any number of delimited
fields.
There is wildcard support for topic subscription, where * matches any topic
within the delimited field, and # matches any number of delimited fields.
These fields can be mixed in any order.
For example:
player.*.volumewill match any player's volume eventsplayer.%will match all player events
[ "TOPIC", "PAYLOAD" ]
[ "SUBSCRIBED_TOPIC", "TOPIC_FROM_PUBLISHER", "PAYLOAD" ]
The default port is 7171.