PhoenixZMQ  6.0.0
Library which integrates zeromq use
Loading...
Searching...
No Matches
PZmqBackend Class Reference

Backend to use Mock library with PAbtractSocket. More...

#include <PZmqBackend.h>

Public Types

typedef zmq::message_t Message
 Define the type of message used by the PAbstractSocketManager.
 
typedef PZmqParam Param
 Define the type of extra parameters which can be used to create a Socket used by the PAbstractSocketManager.
 
typedef PZmqSocket Socket
 Define the socket of the backend used by the PAbstractSocketManager.
 

Public Member Functions

bool createClientSocket (Socket &socket, const PSocketParam &socketParam, const PZmqParam &param)
 Create a client socket.
 
bool createServerSocket (Socket &socket, const PSocketParam &socketParam, const PZmqParam &param)
 Create a server socket.
 
void mockToMsg (Message &msg, DataStreamMsg &mockMsg)
 Copy mock message data into current backend message.
 
void msgToMock (DataStreamMsg &mockMsg, const Message &msg)
 Copy current backend message data into mock message.
 
 PZmqBackend ()
 Default constructor of PZmqBackend setting the number of threads for zmq I/O to 1.
 

Static Public Member Functions

static Param client ()
 Create a client parameter.
 
static Param server ()
 Create a server parameter.
 

Private Attributes

zmq::context_t p_context
 Context ZMQ.
 

Detailed Description

Backend to use Mock library with PAbtractSocket.

Definition at line 67 of file PZmqBackend.h.

Member Typedef Documentation

◆ Message

typedef zmq::message_t PZmqBackend::Message

Define the type of message used by the PAbstractSocketManager.

Definition at line 72 of file PZmqBackend.h.

◆ Param

Define the type of extra parameters which can be used to create a Socket used by the PAbstractSocketManager.

Definition at line 74 of file PZmqBackend.h.

◆ Socket

Define the socket of the backend used by the PAbstractSocketManager.

Definition at line 70 of file PZmqBackend.h.

Constructor & Destructor Documentation

◆ PZmqBackend()

PZmqBackend::PZmqBackend ( )

Default constructor of PZmqBackend setting the number of threads for zmq I/O to 1.

Definition at line 248 of file PZmqBackend.cpp.

249:p_context(1)
250{
251
252}
zmq::context_t p_context
Context ZMQ.
Definition PZmqBackend.h:89

References p_context.

Member Function Documentation

◆ client()

PZmqBackend::Param PZmqBackend::client ( )
static

Create a client parameter.

Returns
corresponding PZmqBackend::Param (or PZmqParam)

Definition at line 257 of file PZmqBackend.cpp.

257 {
258 return pzmq_createParamClient(ZMQ_PULL);
259}
PZmqParam pzmq_createParamClient(int type, int nbBufferMessage=10000, int bufferSizeByte=1000000, size_t threadAffinity=0lu, ssize_t dataRate=200000l)
Create param for a client socket.

References pzmq_createParamClient().

+ Here is the call graph for this function:

◆ createClientSocket()

bool PZmqBackend::createClientSocket ( PZmqBackend::Socket & socket,
const PSocketParam & socketParam,
const PZmqParam & param )

Create a client socket.

Parameters
[out]socket: socket to be created
socketParam: parameters of the server (hostname, port), the client has to connect to
port: port to be used for the connection
param: extra customisable parameters for the creation of the socket (depends on the backend)
Returns
true if the socket has been created, false otherwise

Definition at line 275 of file PZmqBackend.cpp.

275 {
276 return socket.createClientSocket(p_context, socketParam, param);
277}
bool createClientSocket(zmq::context_t &context, const PSocketParam &socketParam, const Param &extraParam)
Create a client socket.

References PZmqSocket::createClientSocket(), and p_context.

+ Here is the call graph for this function:

◆ createServerSocket()

bool PZmqBackend::createServerSocket ( PZmqBackend::Socket & socket,
const PSocketParam & socketParam,
const PZmqParam & param )

Create a server socket.

Parameters
[out]socket: socket to be created
socketParam: parameters of the server (hostname, port), the client has to connect to
param: extra customisable parameters for the creation of the socket (depends on the backend)
Returns
true if the socket has been created, false otherwise

Definition at line 285 of file PZmqBackend.cpp.

285 {
286 return socket.createServerSocket(p_context, socketParam, param);
287}
bool createServerSocket(zmq::context_t &context, const PSocketParam &socketParam, const Param &extraParam)
Create a server socket.

References PZmqSocket::createServerSocket(), and p_context.

+ Here is the call graph for this function:

◆ mockToMsg()

void PZmqBackend::mockToMsg ( PZmqBackend::Message & msg,
DataStreamMsg & mockMsg )

Copy mock message data into current backend message.

Parameters
[out]msg: message of the current backend to be converted
mockMsg: mock message

Definition at line 303 of file PZmqBackend.cpp.

303 {
304 size_t dataSize(mockMsg.size());
305 msg.rebuild(dataSize);
306 memcpy((void*)msg.data(), mockMsg.data(), dataSize);
307}

◆ msgToMock()

void PZmqBackend::msgToMock ( DataStreamMsg & mockMsg,
const Message & msg )

Copy current backend message data into mock message.

Parameters
[out]mockMsg: mock message
msg: message of the current backend to be converted

Definition at line 293 of file PZmqBackend.cpp.

293 {
294 size_t dataSize(msg.size());
295 mockMsg.resize(dataSize);
296 memcpy(mockMsg.data(), (const void*)msg.data(), dataSize);
297}

◆ server()

PZmqBackend::Param PZmqBackend::server ( )
static

Create a server parameter.

Returns
corresponding PZmqBackend::Param (or PZmqParam)

Definition at line 264 of file PZmqBackend.cpp.

264 {
265 return pzmq_createParamServer(ZMQ_PUSH);
266}
PZmqParam pzmq_createParamServer(int type, int nbBufferMessage=10000, int bufferSizeByte=1000000, size_t threadAffinity=0lu, ssize_t dataRate=200000l)
Create param for a client socket.

References pzmq_createParamServer().

+ Here is the call graph for this function:

Member Data Documentation

◆ p_context

zmq::context_t PZmqBackend::p_context
private

Context ZMQ.

Definition at line 89 of file PZmqBackend.h.

Referenced by createClientSocket(), createServerSocket(), and PZmqBackend().


The documentation for this class was generated from the following files: