bool Socket::receive(RawMessage & oMessage) { string aType; string aPayload; string aDest; std::string aMessageData; bool const aReceived = receiveString(aMessageData); if (aReceived) { size_t aEndDestFlag = aMessageData.find( " ", 0 ); if (string::npos != aEndDestFlag) { aDest = aMessageData.substr(0, aEndDestFlag); size_t aEndTypeFlag = aMessageData.find(" ", aEndDestFlag + 1); if ( aEndTypeFlag != string::npos ) { aType = aMessageData.substr( aEndDestFlag + 1, aEndTypeFlag - aEndDestFlag - 1 ); aPayload = aMessageData.substr( aEndTypeFlag + 1 ); } } oMessage._type = aType; oMessage._routingId = aDest; oMessage._payload = aPayload; ORWELL_LOG_DEBUG("Received message : type=" << aType << "- dest=" << aDest << "-"); } return aReceived; }
void Socket::send(RawMessage const & iMessage) { string aMessage; aMessage += iMessage._routingId; aMessage += " "; aMessage += iMessage._type; aMessage += " "; aMessage += iMessage._payload; sendString(aMessage); ORWELL_LOG_DEBUG("Sent message of type " << iMessage._type << " to " << iMessage._routingId << " with size " << aMessage.size()); }