Protocol Handlers
Blackbird includes a protocol handler library called Bigfoot. We developed this because we found we were writing too much code to make TCP/IP connections to various types of resources. Bigfoot is fully integrated into Blackbird, so its protocols can be requested in documentation definition blocks, and it generates callbacks that classes may define to respond to events.
Currently, Bigfoot provides the following protocols:
- Socket - A raw TCP/IP socket. Connect, disconnect, and data events are generated. Data is buffered, so partial/full/multiple messages are supported.
- STOMP - Superclasses Socket and provides connectivity to an ActiveMQ server via the STOMP protocol. In addition to the Socket events, STOMP also provides message handler callbacks that can supply either raw or parsed (from XML bodies) values.
- Jabber - Connects to a Jabber server and acts as a user on the system. Can send and receive messages, and includes presence control.
- Nest - Connects to a Nest server, and implements the Nest command protocol. Not intended to be used by anything other than Blackbird itself, a Nest server, or a Motherbird instance, but provided so developers can make their own management tools, or Nest service bridges, if desired.
- Database - Endpoint that connects to a database server.
This is a stub document, and will be expanded later.