NATS Client Library
-------------------
NATS is a text-based IoT protocol based on a publisher-subscriber paradigm.
This implementation is still WORK IN PROGRESS. So, API may change.
NATS messages are listed below:
Msg Side Description
INFO Server Sent to client after initial TCP/IP connection
CONNECT Client Sent to server to specify connection information
PUB Client Publish a message to a subject, with optional reply subject
SUB Client Subscribe to a subject (or subject wildcard)
UNSUB Client Unsubscribe (or auto-unsubscribe) from subject
MSG Server Delivers a message payload to a subscriber
PING Both PING keep-alive message
PONG Both PONG keep-alive response
+OK Server Acknowledges well-formed protocol message in verbose mode
-ERR Server Indicates a protocol error. Will cause client disconnect.
Known Limitations
-----------------
Msg Side Status
INFO Server Partially implemented. Not fully tested.
INFO Client Partially implemented. See nats_unpack_info function.
CONNECT Client Fully implemented.
PUB Client Fully implemented.
SUB Client Fully implemented.
UNSUB Client Fully implemented.
MSG Client Fully implemented.
PING Server Fully implemented.
PING Client Fully implemented.
PONG Server Fully implemented.
PONG Client Fully implemented.
+OK Client Fully implemented.
-ERR Client Not implemented: if the client receives something different
from +OK, we must assume an error was detected by the peer.
Future versions may include this message.
References
----------
More information about the NATS protocol can be found at:
http://nats.io/documentation/internals/nats-protocol/