21 int bufferSizeByte,
size_t threadAffinity, ssize_t dataRate)
47 int bufferSizeByte,
size_t threadAffinity, ssize_t dataRate)
77 PZmqBackend::Param PZmqBackend::client(
const std::string & address,
size_t port, zmq::context_t* context,
int type,
int nbBufferMessage,
int bufferSizeByte,
size_t threadAffinity, ssize_t dataRate){
78 return pzmq_createParamClient(address, port, context, type, nbBufferMessage, bufferSizeByte, threadAffinity, dataRate);
92 PZmqBackend::Param PZmqBackend::server(
const std::string & address,
size_t port, zmq::context_t* context,
int type,
int nbBufferMessage,
int bufferSizeByte,
size_t threadAffinity, ssize_t dataRate){
93 return pzmq_createParamServer(address, port, context, type, nbBufferMessage, bufferSizeByte, threadAffinity, dataRate);
106 return socket != NULL;
119 return socket != NULL;
130 return socket != NULL;
141 return socket != NULL;
150 else{
return zmq::send_flags::none;}
162 return res.has_value();
174 else{
return zmq::recv_flags::none;}
186 return res.has_value();
197 msg.rebuild(sizeMsg);
237 #if (CPPZMQ_VERSION_MAJOR*100 + CPPZMQ_VERSION_MINOR*10 + CPPZMQ_VERSION_PATCH) >= 471
238 return socket->handle() != NULL;
240 return socket->connected();
253 mockMsg.resize(dataSize);
262 size_t dataSize(mockMsg.size());
zmq::send_flags convertToSendFlag(PSendFlag::PSendFlag flag)
Convert a send flag into zmq flag.
PZmqParam pzmq_createParamServer(const std::string &address, size_t port, zmq::context_t *context, int type, int nbBufferMessage, int bufferSizeByte, size_t threadAffinity, ssize_t dataRate)
Create param for a client socket.
zmq::recv_flags convertToRecvFlag(PRecvFlag::PRecvFlag flag)
Convert a recv flag into zmq flag.
PZmqParam pzmq_createParamClient(const std::string &address, size_t port, zmq::context_t *context, int type, int nbBufferMessage, int bufferSizeByte, size_t threadAffinity, ssize_t dataRate)
Create param for a client socket.
static void close(Socket &socket)
Close the given socket.
static Param server(const std::string &address, size_t port, zmq::context_t *context=NULL, int type=ZMQ_PUSH, int nbBufferMessage=10000, int bufferSizeByte=1000000, size_t threadAffinity=0lu, ssize_t dataRate=200000l)
Create a server parameter.
static Param client(const std::string &address, size_t port, zmq::context_t *context=NULL, int type=ZMQ_PULL, int nbBufferMessage=10000, int bufferSizeByte=1000000, size_t threadAffinity=0lu, ssize_t dataRate=200000l)
Create a client parameter.
static size_t msgSize(const Message &msg)
Get the size of a message.
PZmqBackend()
Default constructor of PZmqBackend.
static void msgToMock(DataStreamMsg &mockMsg, const Message &msg)
Copy current backend message data into mock message.
static void msgResize(Message &msg, size_t sizeMsg)
Resize a message.
static bool createClientSocket(Socket &socket, const std::string &address, size_t port, const PZmqParam ¶m)
Create a client socket.
static bool recv(Socket &socket, Message &msg, PRecvFlag::PRecvFlag flag)
Recieve message from the given socket.
static const DataStreamIter msgData(const Message &msg)
Get the data of a message.
static void mockToMsg(Message &msg, DataStreamMsg &mockMsg)
Copy mock message data into current backend message.
zmq::socket_t * Socket
Define the socket of the backend used by the PAbstractSocketManager.
static bool isConnected(const Socket &socket)
Close the given socket.
static bool send(Socket &socket, Message &msg, PSendFlag::PSendFlag flag)
Send message on the given socket.
zmq::message_t Message
Define the type of message used by the PAbstractSocketManager.
static bool createServerSocket(Socket &socket, const std::string &address, size_t port, const PZmqParam ¶m)
Create a server socket.
std::vector< DataStreamType > DataStreamMsg
DataStreamType * DataStreamIter
PRecvFlag
describe the recieving flag of the Socket
PSendFlag
describe the sending flag of the Socket
zmq::socket_t * pzmq_createServerSocket(zmq::context_t &context, int type, size_t port)
Create a server socket to be used by the SocketManagerZMQ.
zmq::socket_t * pzmq_createClientSocket(zmq::context_t &context, int type, const std::string &address, size_t port)
Create a client socket to be used by the SocketManagerZMQ.
void pzmq_closeServerSocket(zmq::socket_t *&socket)
Close the given server socket.
Set of parameters to be passed to create a socket with zmq backend.
zmq::context_t * context
Context.
ssize_t dataRate
Data rate.
int nbBufferMessage
Number of messages in the buffer.
int bufferSizeByte
Size of the message buffer in bytes.
size_t port
Connection port.
size_t threadAffinity
Mask of threads which deal with reconnection.
std::string address
Host address.