#Howl Howl is a riak_core and web-socket based message delivery system. The architecture is as follows:
- The front end is a cowboy web server that accepts web socket connections.
- The backend is a simple TPC/BERT based protocol.
- Each riak_core node offers both a front end and a backend, those front and back ends are equal, as in sending messages to any backend will reach any front end.
- Messages are send to channels, and clients can subscribe to channels.
The following JSON encoded messages can be send to the web socket fronted. Those messages are checked against an authentication mechanism. Received messages are JSON encoded strings.
{auth: {'user': user.value, 'pass': pass.value}}
{join: input.value}
Will authenticate the web socket for permission checking.
Will join a channel for the websocket.
The following TPC messages are known by the protocol. An example implementation can be found in libhowl.
{msg, Channel, Msg}
Sends Msg to the given Channel.
- Msg should be in a format that it can be encoded jsx.
- Channel should be an binary.
The only authentication mechanism supported right now is via the Snarl AAA server.