A router that implements polling on multiple zeromq sockets, and a signal-based callback system depending on the socket and the subject of the message. Implementing GDFP-SW (GDF Server-apper Protocol) More...
#include <memory>
#include <future>
#include <boost/signals2/signal.hpp>
#include <boost/bimap.hpp>
#include "comms/messages.hpp"
#include "comms/transport.hpp"
Classes | |
struct | stateline::comms::SocketHandler |
Represents the callback signals for a socket. More... | |
class | stateline::comms::SocketRouter |
Implements polling and configurable routing between an arbitrary number of (pre-constructed) zeromq sockets. Functionality is attached through a signal interface. More... | |
Namespaces | |
stateline | |
stateline::comms | |
Typedefs | |
typedef boost::signals2::signal< void(const stateline::comms::Message &)> | MsgSignal |
Type representing a signal that takes a message as an argument. | |
typedef boost::signals2::signal< void()> | VoidSignal |
Type represent a signal that takes no arguments. | |
typedef boost::bimap< SocketID, uint > | stateline::comms::IndexBiMap |
A type that maps between indices in an array, and SocketID objects. | |
Enumerations | |
enum | stateline::comms::SocketID { REQUESTER, MINION, WORKER, NETWORK, HEARTBEAT, ALPHA, BETA } |
Enums to give each type of socket an index. | |
Functions | |
std::ostream & | stateline::comms::operator<< (std::ostream &os, const SocketID &id) |
Print a socket ID for logging and debugging purposes. More... | |
A router that implements polling on multiple zeromq sockets, and a signal-based callback system depending on the socket and the subject of the message. Implementing GDFP-SW (GDF Server-apper Protocol)