56 lines
896 B
C
56 lines
896 B
C
|
#pragma once
|
||
|
|
||
|
#include "../../EHS.h"
|
||
|
#include "../../Serializer.h"
|
||
|
|
||
|
namespace lwe
|
||
|
{
|
||
|
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 (LWE_IPV4_UDP_PAYLOAD - (UInt_16)sizeof(Header))
|
||
|
#endif
|
||
|
|
||
|
#ifndef COMMS_IPV6_PAYLOAD
|
||
|
#define COMMS_IPV6_PAYLOAD (LWE_IPV6_UDP_PAYLOAD - (UInt_16)sizeof(Header))
|
||
|
#endif
|