|
ZeroEQ
0.9.0
ZeroEQ - Zero Event Queue
|
Publish-subscribe and request-reply. More...
Namespaces | |
| connection | |
| Connection broker to introduce remote publishers to a subscriber. | |
| http | |
| HTTP protocol support. | |
Classes | |
| class | Client |
| Requests a remote procedure call on a Server. More... | |
| class | Monitor |
| Monitors a Sender and notifies on events on its socket. More... | |
| class | Publisher |
| Serves and publishes events, consumed by Subscriber. More... | |
| class | Receiver |
| Base class for entities receiving data. More... | |
| class | Sender |
| Interface for entities sending data. More... | |
| class | Server |
| Serves request from one or more Client(s). 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 | |
| using | URIs = std::vector< URI > |
| A vector of URIs. | |
| using | EventFunc = std::function< void()> |
| Callback for receival of subscribed event without payload. More... | |
| using | EventPayloadFunc = std::function< void(const void *, size_t)> |
| Callback for receival of subscribed event with payload. More... | |
| using | ReplyFunc = std::function< void(const uint128_t &, const void *, size_t)> |
| Callback for the reply of a Client::request() (reply ID, reply data). More... | |
| using | ReplyData = std::pair< uint128_t, servus::Serializable::Data > |
| Return value of Server::handle() function (reply ID, reply data) | |
| using | HandleFunc = std::function< ReplyData(const void *, size_t)> |
| Callback for serving a Client::request() in Server::handle(). More... | |
| typedef int | SocketDescriptor |
Functions | |
| static const std::string | DEFAULT_SESSION ("__zeroeq") |
| static const std::string | NULL_SESSION ("__null_session") |
| static const std::string | TEST_SESSION (servus::TEST_DRIVER) |
| static const std::string | ENV_PUB_SESSION ("ZEROEQ_PUB_SESSION") |
| static const std::string | ENV_REP_SESSION ("ZEROEQ_SERVER_SESSION") |
| 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... | |
Publish-subscribe and request-reply.
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).
A Server serves requests from a Client. Like publish-subscribe, clients connect to servers using zeroconf discovery or explicit addressing.
A Monitor can be used on any Sender to receive notification on incoming connections.
The connection::Broker and connection::Service may be used to introduce a subscriber to a remote, not zeroconf visible, publisher.
| using zeroeq::EventFunc = typedef std::function<void()> |
| using zeroeq::EventPayloadFunc = typedef std::function<void(const void*, size_t)> |
| using zeroeq::HandleFunc = typedef std::function<ReplyData(const void*, size_t)> |
Callback for serving a Client::request() in Server::handle().
| using zeroeq::ReplyFunc = typedef std::function<void(const uint128_t&, const void*, size_t)> |
Callback for the reply of a Client::request() (reply ID, reply data).