#pragma once #include namespace ehs { enum class EndDisp : UInt_8 { ENDPOINT, SERVICE }; 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::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 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