Specializaton for a Packetizer which detects KnxNet/Ip packets.
More...
#include <baos/ip/TcpIO.h>
|
|
| KnxNetIPPacketizer () |
| | Construct a new Knx Net IP Packetizer object with given pattern. size position and length.
|
| |
| bool | packetize (const Buffer &buf, std::uint16_t bufferSize, std::int32_t &offset, std::uint16_t &length) override |
| |
|
void | setAcceptedProtocolVersions (const std::vector< std::uint8_t > &versions) |
| |
| | PacketizerBase (const Buffer &startPattern, std::uint16_t sizePosition, std::uint16_t sizeBytes) |
| | Construct a new Packetizer Base object from a given pattern. More...
|
| |
|
|
std::vector< std::uint8_t > | acceptedProtocolVersions_ {0x10,0x20} |
| |
|
const Buffer | startPattern_ |
| | The pattern which marks the beginning of a packet in the byte stream.
|
| |
|
const std::int32_t | sizePosition_ {-1} |
| | The 0 based index of the total size information in packet.
|
| |
|
const std::uint16_t | sizeBytes_ {0} |
| | From how many bytes is the total size composed.
|
| |
|
|
constexpr static std::uint8_t | HEADER_SIZE {6} |
| | The size of the KNXnet/IP header.
|
| |
|
constexpr static std::uint8_t | PROTOCOL_VERSION_POSITION {1} |
| | The position of the protocol version byte inside the KNXnet/IP header.
|
| |
Specializaton for a Packetizer which detects KnxNet/Ip packets.
◆ packetize()
| bool packetize |
( |
const Buffer & |
buf, |
|
|
std::uint16_t |
bufferSize, |
|
|
std::int32_t & |
offset, |
|
|
std::uint16_t & |
length |
|
) |
| |
|
overridevirtual |
- Parameters
-
| buf | reference to the buffer in which the packet should be found |
| bufferSize | the actual size of the buffer |
| offset | [out] if a packet was found the start offset of it |
| length | [out] if a packet was found the length of the packet(overall) |
- Returns
- true if packet was found false otherwise
Implements PacketizerBase.
The documentation for this class was generated from the following file: