read and write tag data
More...
#include <tag-buffer.h>
List of all members.
Public Member Functions |
| TagBuffer (uint8_t *start, uint8_t *end) |
void | TrimAtEnd (uint32_t trim) |
void | CopyFrom (TagBuffer o) |
TAG_BUFFER_INLINE void | WriteU8 (uint8_t v) |
TAG_BUFFER_INLINE void | WriteU16 (uint16_t v) |
TAG_BUFFER_INLINE void | WriteU32 (uint32_t v) |
void | WriteU64 (uint64_t v) |
void | WriteDouble (double v) |
void | Write (const uint8_t *buffer, uint32_t size) |
TAG_BUFFER_INLINE uint8_t | ReadU8 (void) |
TAG_BUFFER_INLINE uint16_t | ReadU16 (void) |
TAG_BUFFER_INLINE uint32_t | ReadU32 (void) |
uint64_t | ReadU64 (void) |
double | ReadDouble (void) |
void | Read (uint8_t *buffer, uint32_t size) |
Detailed Description
read and write tag data
This class allows subclasses of the ns3::Tag base class to serialize and deserialize their data through a stream-like API. This class keeps track of the "current" point in the buffer and advances that "current" point everytime data is written. The in-memory format of the data written by this class is unspecified.
If the user attempts to write more data in the buffer than he allocated with Tag::GetSerializedSize, he will trigger an NS_ASSERT error.
Member Function Documentation
void ns3::TagBuffer::Read |
( |
uint8_t * |
buffer, |
|
|
uint32_t |
size | |
|
) |
| | |
- Parameters:
-
| buffer | a pointer to the buffer where data should be written. |
| size | the number of bytes to read. |
Read the number of bytes requested, advance the "current" point by the number of bytes read, return.
double ns3::TagBuffer::ReadDouble |
( |
void |
|
) |
|
- Returns:
- the value read
Read a double, advance the "current" point by the size of the data read, and, return the value read.
uint16_t ns3::TagBuffer::ReadU16 |
( |
void |
|
) |
|
- Returns:
- the value read
Read two bytes, advance the "current" point by two, and return the value read.
uint32_t ns3::TagBuffer::ReadU32 |
( |
void |
|
) |
|
- Returns:
- the value read
Read four bytes, advance the "current" point by four, and return the value read.
uint64_t ns3::TagBuffer::ReadU64 |
( |
void |
|
) |
|
- Returns:
- the value read
Read eight bytes, advance the "current" point by eight, and return the value read.
uint8_t ns3::TagBuffer::ReadU8 |
( |
void |
|
) |
|
- Returns:
- the value read
Read one byte, advance the "current" point by one, and return the value read.
void ns3::TagBuffer::Write |
( |
const uint8_t * |
buffer, |
|
|
uint32_t |
size | |
|
) |
| | |
- Parameters:
-
| buffer | a pointer to data to write |
| size | the size of the data to write |
Write all the input data and advance the "current" point by the size of the data written.
void ns3::TagBuffer::WriteDouble |
( |
double |
v |
) |
|
- Parameters:
-
Write a double and advance the "current" point by the size of the data written.
void ns3::TagBuffer::WriteU16 |
( |
uint16_t |
v |
) |
|
- Parameters:
-
Write two bytes and advance the "current" point by two.
void ns3::TagBuffer::WriteU32 |
( |
uint32_t |
v |
) |
|
- Parameters:
-
Write four bytes and advance the "current" point by four.
void ns3::TagBuffer::WriteU64 |
( |
uint64_t |
v |
) |
|
- Parameters:
-
Write eight bytes and advance the "current" point by eight.
void ns3::TagBuffer::WriteU8 |
( |
uint8_t |
v |
) |
|
- Parameters:
-
Write one byte and advance the "current" point by one.
The documentation for this class was generated from the following file: