ZeroEQ  0.7.0
ZeroEQ - Zero Event Queue
zeroeq Namespace Reference

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"
 

Detailed Description

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 Documentation

typedef std::function< void() > zeroeq::EventFunc

Callback for receival of subscribed event w/o payload.

Definition at line 43 of file types.h.

typedef std::function< void( const void*, size_t ) > zeroeq::EventPayloadFunc

Callback for receival of subscribed event w/ payload.

Definition at line 49 of file types.h.

typedef std::function< std::string() > zeroeq::GETFunc

HTTP GET callback to return JSON reply.

Definition at line 58 of file types.h.

typedef std::function< bool() > zeroeq::PUTFunc

HTTP PUT callback w/o payload, return reply success.

Definition at line 52 of file types.h.

typedef std::function< bool( const std::string& ) > zeroeq::PUTPayloadFunc

HTTP PUT callback w/ JSON payload, return reply success.

Definition at line 55 of file types.h.

Variable Documentation

const uint32_t zeroeq::TIMEOUT_INDEFINITE = 0xffffffffu
static

Constant defining 'wait forever' in methods with wait parameters.

Definition at line 68 of file types.h.