23 #include "UniSetTypes.h" 52 const uint32_t UNETUDP_MAGICNUM = 0x133EF54;
66 } __attribute__((packed));
68 std::ostream& operator<<( std::ostream& os,
UDPHeader& p );
69 std::ostream& operator<<( std::ostream& os,
UDPHeader* p );
71 const size_t MaxPacketNum = std::numeric_limits<size_t>::max();
76 UDPAData(
long id,
long val) noexcept: id(
id), val(val) {}
81 } __attribute__((packed));
83 std::ostream& operator<<( std::ostream& os,
UDPAData& p );
92 static const size_t MaxACount = 2000;
93 static const size_t MaxDCount = 5000;
94 static const size_t MaxDDataCount = 1 + MaxDCount / 8 *
sizeof(
unsigned char);
101 uint8_t data[
sizeof(
UDPHeader) + MaxDCount *
sizeof(
long) + MaxDDataCount + MaxACount *
sizeof(
UDPAData) ];
102 } __attribute__((packed));
104 static const size_t MaxDataLen =
sizeof(
UDPPacket);
118 size_t transport_msg(
UDPPacket& p )
const noexcept;
123 size_t addDData(
long id,
bool val ) noexcept;
126 bool setDData(
size_t index,
bool val ) noexcept;
129 long dID(
size_t index )
const noexcept;
132 bool dValue(
size_t index )
const noexcept;
136 size_t addAData(
const UDPAData& dat ) noexcept;
137 size_t addAData(
long id,
long val ) noexcept;
140 bool setAData(
size_t index,
long val ) noexcept;
144 inline bool isAFull()
const noexcept
146 return (
acount >= MaxACount);
148 inline bool isDFull()
const noexcept
150 return (
dcount >= MaxDCount);
153 inline bool isFull()
const noexcept
158 inline size_t dsize()
const noexcept
163 inline size_t asize()
const noexcept
169 size_t sizeOf()
const noexcept;
171 uint16_t getDataCRC()
const noexcept;
174 size_t d_byte()
const noexcept
184 std::ostream& operator<<( std::ostream& os,
UDPMessage& p );
186 uint16_t makeCRC(
unsigned char* buf,
size_t len ) noexcept;
191 #endif // UDPPacket_H_ Definition: CommonEventLoop.h:14
UDPAData a_dat[MaxACount]
Definition: UDPPacket.h:179
bool setAData(size_t index, long val) noexcept
Definition: UDPPacket.cc:185
bool setDData(size_t index, bool val) noexcept
Definition: UDPPacket.cc:215
Definition: UDPPacket.h:73
uint8_t d_dat[MaxDDataCount]
Definition: UDPPacket.h:181
const ObjectId DefaultObjectId
Definition: UniSetTypes.h:69
long dID(size_t index) const noexcept
Definition: UDPPacket.cc:235
Definition: UDPPacket.h:106
Definition: UDPPacket.h:96
long d_id[MaxDCount]
Definition: UDPPacket.h:180
long getDataID() const noexcept
Definition: UDPPacket.cc:283
bool dValue(size_t index) const noexcept
Definition: UDPPacket.cc:243