mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
Zero MQ implimentation and example (Tutorial3)
git-svn-id: https://subversion.gsi.de/fairroot/fairbase/trunk@20162 0381ead4-6506-0410-b988-94b70fbc4730
This commit is contained in:
63
fairmq/FairMQMessage.cxx
Normal file
63
fairmq/FairMQMessage.cxx
Normal file
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* FairMQMessage.cxx
|
||||
*
|
||||
* Created on: Dec 5, 2012
|
||||
* Author: dklein
|
||||
*/
|
||||
|
||||
#include "FairMQMessage.h"
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
|
||||
FairMQMessage::FairMQMessage()
|
||||
{
|
||||
try {
|
||||
fMessage = new zmq::message_t();
|
||||
} catch (zmq::error_t& e) {
|
||||
std::stringstream logmsg;
|
||||
logmsg << "failed allocating new message, reason: " << e.what();
|
||||
FairMQLogger::GetInstance()->Log(FairMQLogger::ERROR, logmsg.str());
|
||||
}
|
||||
}
|
||||
|
||||
FairMQMessage::FairMQMessage(void* data_, size_t size_, zmq::free_fn* ffn_, void* hint_/*= NULL*/)
|
||||
{
|
||||
try {
|
||||
fMessage = new zmq::message_t(data_, size_, ffn_, hint_);
|
||||
} catch (zmq::error_t& e) {
|
||||
std::stringstream logmsg;
|
||||
logmsg << "failed allocating new message, reason: " << e.what();
|
||||
FairMQLogger::GetInstance()->Log(FairMQLogger::ERROR, logmsg.str());
|
||||
}
|
||||
}
|
||||
|
||||
FairMQMessage::~FairMQMessage()
|
||||
{
|
||||
delete fMessage;
|
||||
}
|
||||
|
||||
zmq::message_t* FairMQMessage::GetMessage()
|
||||
{
|
||||
return fMessage;
|
||||
}
|
||||
|
||||
Int_t FairMQMessage::Size()
|
||||
{
|
||||
return fMessage->size();
|
||||
}
|
||||
|
||||
Bool_t FairMQMessage::Copy(FairMQMessage* msg)
|
||||
{
|
||||
Bool_t result = false;
|
||||
|
||||
try {
|
||||
fMessage->copy(msg->GetMessage());
|
||||
} catch (zmq::error_t& e) {
|
||||
std::stringstream logmsg;
|
||||
logmsg << "failed copying message, reason: " << e.what();
|
||||
FairMQLogger::GetInstance()->Log(FairMQLogger::ERROR, logmsg.str());
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
Reference in New Issue
Block a user