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:
Mohammad Al-Turany
2013-06-07 08:07:48 +00:00
commit 231c7c8f7e
38 changed files with 2596 additions and 0 deletions

63
fairmq/FairMQMessage.cxx Normal file
View 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;
}