/* * Message.cxx * * Created on: Dec 5, 2012 * Author: dklein */ #include "Message.h" #include "Logger.h" namespace Highway { Message::Message() { try { fMessage = new zmq::message_t(); } catch (zmq::error_t& e) { std::stringstream logmsg; logmsg << "failed allocating new message, reason: " << e.what(); Logger::GetInstance()->Log(Logger::ERROR, logmsg.str()); } } Message::Message(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(); Logger::GetInstance()->Log(Logger::ERROR, logmsg.str()); } } Message::~Message() { delete fMessage; } zmq::message_t* Message::GetMessage() { return fMessage; } int Message::Size() { return fMessage->size(); } bool Message::Copy(Message* msg) { bool result = false; try { fMessage->copy(msg->GetMessage()); } catch (zmq::error_t& e) { std::stringstream logmsg; logmsg << "failed copying message, reason: " << e.what(); Logger::GetInstance()->Log(Logger::ERROR, logmsg.str()); } return result; } } /* namespace Highway */