ZeroEQ
0.6.0
ZeroEQ - Zero Event Queue
|
Publish-subscribe classes for typed events. More...
Namespaces | |
connection | |
Connection broker to introduce remote publishers to a subscriber. | |
http | |
HTTP protocol support. | |
Classes | |
class | Publisher |
Serves and publishes events, consumed by Subscriber. More... | |
class | Receiver |
Base class for entities receiving data. More... | |
class | Subscriber |
Subscribes to Publisher to receive events. More... | |
class | URI |
Enhances servus::URI to guarantee the existance of a schema and to allow construction of [host][:port] URIs from string. More... | |
class | Version |
Information about the current ZeroEQ version. More... | |
Typedefs | |
typedef std::function< void() > | EventFunc |
Callback for receival of subscribed event w/o payload. More... | |
typedef std::function< void(const void *, size_t) > | EventPayloadFunc |
Callback for receival of subscribed event w/ payload. More... | |
typedef std::function< bool() > | PUTFunc |
HTTP PUT callback w/o payload, return reply success. More... | |
typedef std::function< bool(const std::string &) > | PUTPayloadFunc |
HTTP PUT callback w/ JSON payload, return reply success. More... | |
typedef std::function< std::string() > | GETFunc |
HTTP GET callback to return JSON reply. More... | |
typedef int | SocketDescriptor |
Functions | |
std::ostream & | operator<< (std::ostream &os, const URI &uri) |
Variables | |
static const uint32_t | TIMEOUT_INDEFINITE = 0xffffffffu |
Constant defining 'wait forever' in methods with wait parameters. More... | |
static const std::string | DEFAULT_SESSION = "__zeroeq" |
static const std::string | NULL_SESSION = "__null_session" |
Publish-subscribe classes for typed events.
A Publisher opens a listening port on the network, and publishes an Event on this port. It announces its session for automatic discovery.
A Subscriber either explicitely subscribes to the publisher port, or uses automatic discovery to find publishers using the same session. Automatic discovery is implemented using zeroconf networking (avahi or Apple Bonjour).
The connection::Broker and connection::Service may be used to introduce a subscriber to a remote, not zeroconf visible, publisher.
An Event contains a strongly type, semantically defined message. Applications or groups of applications can define their own vocabulary.
typedef std::function< void() > zeroeq::EventFunc |
typedef std::function< void( const void*, size_t ) > zeroeq::EventPayloadFunc |
typedef std::function< std::string() > zeroeq::GETFunc |
typedef std::function< bool() > zeroeq::PUTFunc |
typedef std::function< bool( const std::string& ) > zeroeq::PUTPayloadFunc |