nidas v1.2.3
Public Member Functions | Protected Attributes | List of all members
nidas::util::DatagramPacketBase Class Referenceabstract

Abstract base class for a UDP datagram. More...

#include <DatagramPacket.h>

Inheritance diagram for nidas::util::DatagramPacketBase:
Inheritance graph
[legend]

Public Member Functions

 DatagramPacketBase (int l)
 Create a DatagramPacketBase for receiving.
 
 DatagramPacketBase (int l, const Inet4Address &add, int port)
 Create a DatagramPacketBase for sending.
 
 DatagramPacketBase (int l, const SocketAddress &add)
 
 DatagramPacketBase (const DatagramPacketBase &x)
 Copy constructor.
 
DatagramPacketBaseoperator= (const DatagramPacketBase &rhs)
 Assignment operator.
 
virtual ~DatagramPacketBase ()
 Virtual destructor.
 
SocketAddressgetSocketAddress () const
 
void setSocketAddress (const SocketAddress &val)
 
struct sockaddr * getSockAddrPtr ()
 
const struct sockaddr * getConstSockAddrPtr () const
 
int getSockAddrLen () const
 
virtual void * getDataVoidPtr ()=0
 Get the pointer to the data portion of the packet.
 
virtual const void * getConstDataVoidPtr () const =0
 
virtual void setLength (int val)
 Set the value for the current number of bytes in data.
 
virtual int getLength () const
 Get the value for the current number of bytes in data.
 
void setMaxLength (int val)
 Set the allocated length in bytes of the data.
 
int getMaxLength () const
 Return the allocated length in bytes of the data.
 

Protected Attributes

int maxlength
 allocated length in bytes of contents.
 
int length
 length of datagram that was read or will be sent.
 
SocketAddressaddr
 The destination address for a send, or the remote senders address after a receive.
 

Detailed Description

Abstract base class for a UDP datagram.

Patterned after java.net.DatagramPacket.

Constructor & Destructor Documentation

◆ DatagramPacketBase() [1/4]

nidas::util::DatagramPacketBase::DatagramPacketBase ( int l)
inline

Create a DatagramPacketBase for receiving.

Parameters
bufallocated space for contents. Pointer is owned by caller, not by the DatagramPacketBase - the DatagramPacketBase destructor does not delete it in its destructor.
lengthlength of allocated space.

◆ DatagramPacketBase() [2/4]

nidas::util::DatagramPacketBase::DatagramPacketBase ( int l,
const Inet4Address & add,
int port )
inline

Create a DatagramPacketBase for sending.

Parameters
bufallocated space for contents. Pointer is owned by caller, not by the DatagramPacketBase - the DatagramPacketBase destructor does not delete it in its destructor.
lengthlength of allocated space. @add Inet4Address to send packet to. @port port number to send packet to.

◆ DatagramPacketBase() [3/4]

nidas::util::DatagramPacketBase::DatagramPacketBase ( int l,
const SocketAddress & add )
inline

◆ DatagramPacketBase() [4/4]

nidas::util::DatagramPacketBase::DatagramPacketBase ( const DatagramPacketBase & x)
inline

Copy constructor.

◆ ~DatagramPacketBase()

virtual nidas::util::DatagramPacketBase::~DatagramPacketBase ( )
inlinevirtual

Virtual destructor.

References addr.

Member Function Documentation

◆ getConstDataVoidPtr()

virtual const void * nidas::util::DatagramPacketBase::getConstDataVoidPtr ( ) const
pure virtual

◆ getConstSockAddrPtr()

const struct sockaddr * nidas::util::DatagramPacketBase::getConstSockAddrPtr ( ) const
inline

◆ getDataVoidPtr()

virtual void * nidas::util::DatagramPacketBase::getDataVoidPtr ( )
pure virtual

◆ getLength()

virtual int nidas::util::DatagramPacketBase::getLength ( ) const
inlinevirtual

Get the value for the current number of bytes in data.

Either the number of bytes read in a received packet, or the number of bytes to send().

References length.

◆ getMaxLength()

int nidas::util::DatagramPacketBase::getMaxLength ( ) const
inline

Return the allocated length in bytes of the data.

References maxlength.

◆ getSockAddrLen()

int nidas::util::DatagramPacketBase::getSockAddrLen ( ) const
inline

◆ getSockAddrPtr()

struct sockaddr * nidas::util::DatagramPacketBase::getSockAddrPtr ( )
inline

◆ getSocketAddress()

SocketAddress & nidas::util::DatagramPacketBase::getSocketAddress ( ) const
inline

References addr.

◆ operator=()

DatagramPacketBase & nidas::util::DatagramPacketBase::operator= ( const DatagramPacketBase & rhs)
inline

Assignment operator.

References addr, nidas::util::SocketAddress::clone(), length, and maxlength.

◆ setLength()

virtual void nidas::util::DatagramPacketBase::setLength ( int val)
inlinevirtual

Set the value for the current number of bytes in data.

/param val Number of bytes, must be <= max length.

References length.

◆ setMaxLength()

void nidas::util::DatagramPacketBase::setMaxLength ( int val)
inline

Set the allocated length in bytes of the data.

/param val Number of bytes allocated in data.

References maxlength.

◆ setSocketAddress()

void nidas::util::DatagramPacketBase::setSocketAddress ( const SocketAddress & val)
inline

Member Data Documentation

◆ addr

SocketAddress* nidas::util::DatagramPacketBase::addr
protected

The destination address for a send, or the remote senders address after a receive.

Referenced by getConstSockAddrPtr(), getSockAddrLen(), getSockAddrPtr(), getSocketAddress(), operator=(), setSocketAddress(), and ~DatagramPacketBase().

◆ length

int nidas::util::DatagramPacketBase::length
protected

length of datagram that was read or will be sent.

Must be <= maxlength.

Referenced by getLength(), operator=(), and setLength().

◆ maxlength

int nidas::util::DatagramPacketBase::maxlength
protected

allocated length in bytes of contents.

Referenced by getMaxLength(), operator=(), and setMaxLength().


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