GComm  0.2.3
Public Member Functions | Friends | List of all members
gcomm::Datagram Class Reference

Datagram container. More...

#include <datagram.hpp>

Public Member Functions

 Datagram (const gu::Buffer &buf, size_t offset=0)
 Construct new datagram from byte buffer. More...
 
 Datagram (const gu::SharedBuffer &buf, size_t offset=0)
 
 Datagram (const Datagram &dgram, size_t off=std::numeric_limits< size_t >::max())
 Copy constructor. More...
 
 ~Datagram ()
 Destruct datagram.
 
void normalize ()
 
gu::byte_t * header ()
 
const gu::byte_t * header () const
 
size_t header_size () const
 
size_t header_len () const
 
size_t header_offset () const
 
void set_header_offset (const size_t off)
 
const gu::Buffer & payload () const
 
gu::Buffer & payload ()
 
size_t len () const
 
size_t offset () const
 

Friends

uint16_t crc16 (const Datagram &, size_t)
 
uint32_t crc32 (NetHeader::checksum_t, const Datagram &, size_t)
 

Detailed Description

Datagram container.

Datagram class provides consistent interface for managing datagrams/byte buffers.

Constructor & Destructor Documentation

gcomm::Datagram::Datagram ( const gu::Buffer &  buf,
size_t  offset = 0 
)
inline

Construct new datagram from byte buffer.

Parameters
[in]bufConst pointer to data buffer
[in]buflenLength of data buffer
Exceptions
std::bad_alloc
gcomm::Datagram::Datagram ( const Datagram dgram,
size_t  off = std::numeric_limits<size_t>::max() 
)
inline

Copy constructor.

Note
Only for normalized datagrams.
Parameters
[in]dgramDatagram to make copy from
[in]off
Exceptions
std::bad_alloc

The documentation for this class was generated from the following file: