e3612a5 FIX: fixed the termination of the processes git-subtree-dir: libs/CommService git-subtree-split: e3612a55032895575a2f3394511d6c09b2a98988
56 lines
1.3 KiB
C++
56 lines
1.3 KiB
C++
#ifndef __PAYLOADS_PING__
|
|
#define __PAYLOADS_PING__
|
|
/**
|
|
* @file
|
|
* @brief main header file for the BPing payload
|
|
* @author Henry Winkel
|
|
* @date 15.09.2022
|
|
* @copyright
|
|
*/
|
|
#include <CommService/transmittable.hpp>
|
|
#include <cstdint>
|
|
#include <vector>
|
|
#include <random>
|
|
|
|
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<unsigned char>
|
|
*/
|
|
explicit Ping(std::vector<unsigned char> 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<unsigned char> toByteVector() const override;
|
|
};
|
|
}; //namespace Payloads
|
|
}; //namespace BC
|
|
|
|
#endif
|