Converts between FragmentNumberHeader and binary (network byte order) fragment number header.
More...
#include <FragmentNumberHeaderSerializer.h>
Converts between FragmentNumberHeader and binary (network byte order) fragment number header.
◆ FragmentNumberHeaderSerializer()
| inet::FragmentNumberHeaderSerializer::FragmentNumberHeaderSerializer |
( |
| ) |
|
|
inline |
25 : FieldsChunkSerializer() {}
◆ deserialize()
Deserializes a chunk from a stream by reading the bytes at the current position of the stream.
The current stream position is updated according to the length of the returned chunk.
Implements inet::FieldsChunkSerializer.
26 auto fragmentNumberHeader = makeShared<FragmentNumberHeader>();
27 uint8_t
byte = stream.readUint8();
28 fragmentNumberHeader->setFragmentNumber(
byte & 0x7F);
29 fragmentNumberHeader->setLastFragment(
byte & 0x80);
30 return fragmentNumberHeader;
◆ serialize()
| void inet::FragmentNumberHeaderSerializer::serialize |
( |
MemoryOutputStream & |
stream, |
|
|
const Ptr< const Chunk > & |
chunk |
|
) |
| const |
|
overrideprotectedvirtual |
Serializes a chunk into a stream by writing all bytes representing the chunk at the end of the stream.
Implements inet::FieldsChunkSerializer.
19 const auto& fragmentNumberHeader = staticPtrCast<const FragmentNumberHeader>(chunk);
20 uint8_t
byte = (fragmentNumberHeader->getFragmentNumber() & 0x7F) + (fragmentNumberHeader->getLastFragment() ? 0x80 : 0x00);
21 stream.writeUint8(
byte);
The documentation for this class was generated from the following files: