#include #include #include #include #include #include #include #include namespace CommService { namespace PayLoads { /** * @brief Constructor for generationg a HotPlugJoin object from a received std::vector * * @param v - the std::vector representing a message object */ Join::Join(std::vector v) { /* * parse the vector */ std::memcpy(networkLayerAddress,v.data(),16); v.erase(v.begin(), v.begin()+sizeof(networkLayerAddress)); transportLayerAddress=Convert::fromByteArrayToSimple(v); v.erase(v.begin(), v.begin()+sizeof(transportLayerAddress)); } /** * @brief converts the whole Payload information into a byte vector * * @param payload - returns the byte vector by call by reference */ std::vector Join::toByteVector() const { std::vector bytes; std::vector convert; bytes.resize(16); std::memcpy(bytes.data(),networkLayerAddress,16); convert=Convert::fromSimpleToByteArray(transportLayerAddress); bytes.insert(std::end(bytes), std::begin(convert), std::end(convert)); return bytes; } }; };