#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 payload; }; struct Insurance { Header header; Serializer 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