54 lines
866 B
C++
54 lines
866 B
C++
#pragma once
|
|
|
|
#include "ehs/Serializer.h"
|
|
|
|
namespace ehs
|
|
{
|
|
enum class EndDisp : UInt_8
|
|
{
|
|
ENDPOINT,
|
|
SERVICE
|
|
};
|
|
|
|
enum class Status : UInt_8
|
|
{
|
|
ACTIVE,
|
|
PENDING,
|
|
IN_LOCAL_QUEUE,
|
|
IN_REMOTE_QUEUE,
|
|
};
|
|
|
|
struct Header
|
|
{
|
|
UInt_64 encHashId = 0;
|
|
UInt_64 id = 0;
|
|
UInt_64 fragments = 0;
|
|
UInt_64 fragment = 0;
|
|
bool ensure = false;
|
|
EndDisp disposition = EndDisp::ENDPOINT;
|
|
Char_8 token[64] = {};
|
|
UInt_64 system = 0;
|
|
UInt_64 op = 0;
|
|
};
|
|
|
|
struct Packet
|
|
{
|
|
Header header;
|
|
Serializer<UInt_64> payload;
|
|
};
|
|
|
|
struct Insurance
|
|
{
|
|
Header header;
|
|
Serializer<UInt_64> payload;
|
|
float lastResend;
|
|
};
|
|
}
|
|
|
|
#ifndef EHC_IPV4_PAYLOAD
|
|
#define EHC_IPV4_PAYLOAD (EHS_IPV4_UDP_PAYLOAD - (UInt_16)sizeof(Header))
|
|
#endif
|
|
|
|
#ifndef EHC_IPV6_PAYLOAD
|
|
#define EHC_IPV6_PAYLOAD (EHS_IPV6_UDP_PAYLOAD - (UInt_16)sizeof(Header))
|
|
#endif |