#include "WHISPER/Messages/Message.hpp" #include #include namespace WHISPER { Join::Join(std::string receivedMessage){ msg = messages::header::Message(); try { msg.ParseFromString(receivedMessage); topic_ = msg.topic(); sourceType_ = msg.sourcetype(); msgType_ = msg.msgtype(); joinMessage = messages::join::Join(); deviceId_ = msg.sourceid(); if ( msg.payload_size()) { if (msg.payload().begin()->Is()) { msg.payload().begin()->UnpackTo(&joinMessage); } } port = joinMessage.port(); sourceAddr = joinMessage.srcaddress(); } catch (const std::exception& e) { LOG_S(ERROR)<(); payloadMessage->PackFrom(joinMessage); addPayLoad(payloadMessage); } }