mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 09:31:45 +00:00
Update FairMQStateMachine & introduce FairMQChannels
Organize sockets as a map of vectors of FairMQChannels. Update FairMQStateMachine by removing SETTINGINPUT, SETTINGOUTPUT, BIND and CONNECT states and by adding INITIALIZING_TASK, RESETTING_TASK and RESETTING_DEVICE states. Run states functions in their own thread.
This commit is contained in:
@@ -23,8 +23,7 @@ using namespace std;
|
||||
FairMQMessageZMQ::FairMQMessageZMQ()
|
||||
: fMessage()
|
||||
{
|
||||
int rc = zmq_msg_init(&fMessage);
|
||||
if (rc != 0)
|
||||
if (zmq_msg_init(&fMessage) != 0)
|
||||
{
|
||||
LOG(ERROR) << "failed initializing message, reason: " << zmq_strerror(errno);
|
||||
}
|
||||
@@ -33,8 +32,7 @@ FairMQMessageZMQ::FairMQMessageZMQ()
|
||||
FairMQMessageZMQ::FairMQMessageZMQ(size_t size)
|
||||
: fMessage()
|
||||
{
|
||||
int rc = zmq_msg_init_size(&fMessage, size);
|
||||
if (rc != 0)
|
||||
if (zmq_msg_init_size(&fMessage, size) != 0)
|
||||
{
|
||||
LOG(ERROR) << "failed initializing message with size, reason: " << zmq_strerror(errno);
|
||||
}
|
||||
@@ -43,8 +41,7 @@ FairMQMessageZMQ::FairMQMessageZMQ(size_t size)
|
||||
FairMQMessageZMQ::FairMQMessageZMQ(void* data, size_t size, fairmq_free_fn *ffn, void* hint)
|
||||
: fMessage()
|
||||
{
|
||||
int rc = zmq_msg_init_data(&fMessage, data, size, ffn ? ffn : &CleanUp, hint);
|
||||
if (rc != 0)
|
||||
if (zmq_msg_init_data(&fMessage, data, size, ffn ? ffn : &CleanUp, hint) != 0)
|
||||
{
|
||||
LOG(ERROR) << "failed initializing message with data, reason: " << zmq_strerror(errno);
|
||||
}
|
||||
@@ -53,8 +50,7 @@ FairMQMessageZMQ::FairMQMessageZMQ(void* data, size_t size, fairmq_free_fn *ffn,
|
||||
void FairMQMessageZMQ::Rebuild()
|
||||
{
|
||||
CloseMessage();
|
||||
int rc = zmq_msg_init(&fMessage);
|
||||
if (rc != 0)
|
||||
if (zmq_msg_init(&fMessage) != 0)
|
||||
{
|
||||
LOG(ERROR) << "failed initializing message, reason: " << zmq_strerror(errno);
|
||||
}
|
||||
@@ -63,8 +59,7 @@ void FairMQMessageZMQ::Rebuild()
|
||||
void FairMQMessageZMQ::Rebuild(size_t size)
|
||||
{
|
||||
CloseMessage();
|
||||
int rc = zmq_msg_init_size(&fMessage, size);
|
||||
if (rc != 0)
|
||||
if (zmq_msg_init_size(&fMessage, size) != 0)
|
||||
{
|
||||
LOG(ERROR) << "failed initializing message with size, reason: " << zmq_strerror(errno);
|
||||
}
|
||||
@@ -73,8 +68,7 @@ void FairMQMessageZMQ::Rebuild(size_t size)
|
||||
void FairMQMessageZMQ::Rebuild(void* data, size_t size, fairmq_free_fn *ffn, void* hint)
|
||||
{
|
||||
CloseMessage();
|
||||
int rc = zmq_msg_init_data(&fMessage, data, size, ffn ? ffn : &CleanUp, hint);
|
||||
if (rc != 0)
|
||||
if (zmq_msg_init_data(&fMessage, data, size, ffn ? ffn : &CleanUp, hint) != 0)
|
||||
{
|
||||
LOG(ERROR) << "failed initializing message with data, reason: " << zmq_strerror(errno);
|
||||
}
|
||||
@@ -103,8 +97,7 @@ void FairMQMessageZMQ::SetMessage(void* data, size_t size)
|
||||
void FairMQMessageZMQ::Copy(FairMQMessage* msg)
|
||||
{
|
||||
// Shares the message buffer between msg and this fMessage.
|
||||
int rc = zmq_msg_copy(&fMessage, (zmq_msg_t*)msg->GetMessage());
|
||||
if (rc != 0)
|
||||
if (zmq_msg_copy(&fMessage, (zmq_msg_t*)msg->GetMessage()) != 0)
|
||||
{
|
||||
LOG(ERROR) << "failed copying message, reason: " << zmq_strerror(errno);
|
||||
}
|
||||
@@ -119,8 +112,7 @@ void FairMQMessageZMQ::Copy(FairMQMessage* msg)
|
||||
|
||||
inline void FairMQMessageZMQ::CloseMessage()
|
||||
{
|
||||
int rc = zmq_msg_close(&fMessage);
|
||||
if (rc != 0)
|
||||
if (zmq_msg_close(&fMessage) != 0)
|
||||
{
|
||||
LOG(ERROR) << "failed closing message, reason: " << zmq_strerror(errno);
|
||||
}
|
||||
@@ -133,8 +125,7 @@ void FairMQMessageZMQ::CleanUp(void* data, void* hint)
|
||||
|
||||
FairMQMessageZMQ::~FairMQMessageZMQ()
|
||||
{
|
||||
int rc = zmq_msg_close(&fMessage);
|
||||
if (rc != 0)
|
||||
if (zmq_msg_close(&fMessage) != 0)
|
||||
{
|
||||
LOG(ERROR) << "failed closing message with data, reason: " << zmq_strerror(errno);
|
||||
}
|
||||
|
Reference in New Issue
Block a user