56 lines
892 B
C++
56 lines
892 B
C++
#pragma once
|
|
|
|
#include "ehs/EHS.h"
|
|
#include "ehs/Serializer.h"
|
|
|
|
namespace ehs
|
|
{
|
|
enum class EndDisp : UInt_8
|
|
{
|
|
UNKNOWN,
|
|
SERVICE,
|
|
ENDPOINT
|
|
};
|
|
|
|
enum class Status : UInt_8
|
|
{
|
|
ACTIVE,
|
|
PENDING,
|
|
IN_LOCAL_QUEUE,
|
|
IN_REMOTE_QUEUE,
|
|
};
|
|
|
|
struct Header
|
|
{
|
|
bool encrypted = true;
|
|
UInt_64 id = 0;
|
|
UInt_64 fragments = 0;
|
|
UInt_64 fragment = 0;
|
|
bool ensure = false;
|
|
EndDisp disposition = EndDisp::UNKNOWN;
|
|
UInt_64 endpointId = 0;
|
|
UInt_64 system = 0;
|
|
UInt_64 op = 0;
|
|
};
|
|
|
|
struct Packet
|
|
{
|
|
Header header;
|
|
Serializer<> payload;
|
|
};
|
|
|
|
struct Insurance
|
|
{
|
|
Header header;
|
|
Serializer<> payload;
|
|
float lastResend;
|
|
};
|
|
}
|
|
|
|
#ifndef COMMS_IPV4_PAYLOAD
|
|
#define COMMS_IPV4_PAYLOAD (EHS_IPV4_UDP_PAYLOAD - (UInt_16)sizeof(Header))
|
|
#endif
|
|
|
|
#ifndef COMMS_IPV6_PAYLOAD
|
|
#define COMMS_IPV6_PAYLOAD (EHS_IPV6_UDP_PAYLOAD - (UInt_16)sizeof(Header))
|
|
#endif |