#ifndef __PAYLOADS_PING__ #define __PAYLOADS_PING__ /** * @file * @brief main header file for the BPing payload * @author Henry Winkel * @date 15.09.2022 * @copyright */ #include #include #include #include namespace CommService { namespace PayLoads { /** * @brief class representing the payload of a Ping message * * the Ping messages is transmitted can be published to all or individual nodes. * these nodes will answer with a Pong message * */ class Ping : public transmittable { public: Ping(); /** * @brief constructor to recreate the HotPlugJoin payload from a a std::vector */ explicit Ping(std::vector v); /// message id uniqly identifying one ping message uint64_t messageID; /// the sequence number of the ping uint64_t sequenceNr; /// the local clock ticks uint64_t pingTime; /** * @brief converts the information of the class (the attributes) to a byte vector * * @param byteVector - returns a std::vector of bytes representing the class */ std::vector toByteVector() const override; }; }; //namespace Payloads }; //namespace BC #endif