23 #include "UniSetTypes.h"
43 const uint32_t UNETUDP_MAGICNUM = 0x1337A1D;
56 friend std::ostream& operator<<( std::ostream& os,
UDPHeader& p );
57 friend std::ostream& operator<<( std::ostream& os,
UDPHeader* p );
58 } __attribute__((packed));
60 const size_t MaxPacketNum = std::numeric_limits<size_t>::max();
65 UDPAData(
long id,
long val) noexcept: id(
id), val(val) {}
70 friend std::ostream& operator<<( std::ostream& os,
UDPAData& p );
71 } __attribute__((packed));
79 static const size_t MaxACount = 1500;
80 static const size_t MaxDCount = 5000;
81 static const size_t MaxDDataCount = 1 + MaxDCount / 8 *
sizeof(
unsigned char);
88 uint8_t data[
sizeof(
UDPHeader) + MaxDCount *
sizeof(
long) + MaxDDataCount + MaxACount *
sizeof(
UDPAData) ];
89 } __attribute__((packed));
91 static const size_t MaxDataLen =
sizeof(
UDPPacket);
105 size_t transport_msg(
UDPPacket& p )
const noexcept;
110 size_t addDData(
long id,
bool val ) noexcept;
113 bool setDData(
size_t index,
bool val ) noexcept;
116 long dID(
size_t index )
const noexcept;
119 bool dValue(
size_t index )
const noexcept;
123 size_t addAData(
const UDPAData& dat ) noexcept;
124 size_t addAData(
long id,
long val ) noexcept;
127 bool setAData(
size_t index,
long val ) noexcept;
131 inline bool isAFull()
const noexcept
133 return (
acount >= MaxACount);
135 inline bool isDFull()
const noexcept
137 return (
dcount >= MaxDCount);
140 inline bool isFull()
const noexcept
145 inline size_t dsize()
const noexcept
150 inline size_t asize()
const noexcept
156 size_t sizeOf()
const noexcept;
158 uint16_t getDataCRC()
const noexcept;
161 size_t d_byte()
const noexcept
170 friend std::ostream& operator<<( std::ostream& os,
UDPMessage& p );
173 uint16_t makeCRC(
unsigned char* buf,
size_t len ) noexcept;
178 #endif // UDPPacket_H_
Definition: CallbackTimer.h:29
UDPAData a_dat[MaxACount]
Definition: UDPPacket.h:166
bool setAData(size_t index, long val) noexcept
Definition: UDPPacket.cc:159
bool setDData(size_t index, bool val) noexcept
Definition: UDPPacket.cc:189
Definition: UDPPacket.h:62
uint8_t d_dat[MaxDDataCount]
Definition: UDPPacket.h:168
const ObjectId DefaultObjectId
Definition: UniSetTypes.h:56
long dID(size_t index) const noexcept
Definition: UDPPacket.cc:209
Definition: UDPPacket.h:93
Definition: UDPPacket.h:83
long d_id[MaxDCount]
Definition: UDPPacket.h:167
long getDataID() const noexcept
Definition: UDPPacket.cc:257
bool dValue(size_t index) const noexcept
Definition: UDPPacket.cc:217