nidas
v1.2-1520
|
A DatagramPacket with a specific structure of data. More...
#include <DatagramPacket.h>
Public Member Functions | |
DatagramPacketT (DataT *buf, int n) | |
Create a datagram packet from a pointer to some data. More... | |
DatagramPacketT (DataT *buf, int n, const Inet4Address &add, int port) | |
Create a DatagramPacket for sending. More... | |
DatagramPacketT (DataT *buf, int n, const SocketAddress &add) | |
DatagramPacketT (const DatagramPacketT &x) | |
Copy constructor. More... | |
DatagramPacketT & | operator= (const DatagramPacketT &rhs) |
Assignment operator. More... | |
virtual void * | getDataVoidPtr () |
Get the pointer to the data portion of the packet. More... | |
virtual const void * | getConstDataVoidPtr () const |
DataT * | getData () |
void | setData (DataT *val) |
Set the pointer to the data portion of the packet. More... | |
SocketAddress & | getSocketAddress () const |
void | setSocketAddress (const SocketAddress &val) |
struct sockaddr * | getSockAddrPtr () |
struct sockaddr * | getConstSockAddrPtr () const |
int | getSockAddrLen () const |
virtual void | setLength (int val) |
Set the value for the current number of bytes in data. More... | |
virtual int | getLength () const |
Get the value for the current number of bytes in data. More... | |
void | setMaxLength (int val) |
Set the allocated length in bytes of the data. More... | |
int | getMaxLength () const |
Return the allocated length in bytes of the data. More... | |
Protected Attributes | |
DataT * | data |
int | maxlength |
allocated length in bytes of contents. More... | |
int | length |
length of datagram that was read or will be sent. More... | |
SocketAddress * | addr |
The destination address for a send, or the remote senders address after a receive. More... | |
A DatagramPacket with a specific structure of data.
DatagramPacketT doesn not own the pointer to the data.
This class provides (default) copy constructors and assignment operators. The data pointer of the new copies will point to the same data as the original. The user is responsible for making sure that pointer is valid and the space deallocated when finished.
|
inline |
Create a datagram packet from a pointer to some data.
The DatagramPacketT does not own the pointer to the data, and does not delete it in its destructor.
|
inline |
Create a DatagramPacket for sending.
buf | pointer to allocated space for contents. Pointer is owned by caller, not by the DatagramPacket. The DatagramPacket destructor does not delete it in its destructor. |
n | number of buffers of type DataT in the packet. Inet4Address to send packet to. port number to send packet to. |
|
inline |
|
inline |
Copy constructor.
The data pointer of the new copy points to the same data as the original. The user is responsible for making sure the pointer is valid and the space deallocated when finished.
|
inlinevirtual |
Implements nidas::util::DatagramPacketBase.
Referenced by PacketReader::checkPacket(), and PacketReader::logBadPacket().
|
inlineinherited |
|
inline |
Referenced by WriterThread::run(), and PacketReader::~PacketReader().
|
inlinevirtual |
Get the pointer to the data portion of the packet.
Implements nidas::util::DatagramPacketBase.
|
inlinevirtualinherited |
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 nidas::util::DatagramPacketBase::length.
Referenced by PacketReader::checkPacket(), PacketReader::logBadPacket(), PacketReader::loop(), nidas::core::DerivedDataReader::run(), WriterThread::run(), nidas::util::McSocketListener::run(), and nidas::util::McSocketMulticaster< SocketTT >::run().
|
inlineinherited |
Return the allocated length in bytes of the data.
References nidas::util::DatagramPacketBase::maxlength.
Referenced by PacketReader::loop().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
Assignment operator.
The data pointer of the new copy points to the same data as the right hand side. The user is responsible for making sure old pointer is freed and the new pointer is valid and the space deallocated when finished.
|
inline |
Set the pointer to the data portion of the packet.
/param val Pointer to an allocated section of memory. This pointer is owned by the caller, it is not deleted by the DatagramPacket destructor.
|
inlinevirtualinherited |
Set the value for the current number of bytes in data.
/param val Number of bytes, must be <= max length.
References nidas::util::DatagramPacketBase::length.
Referenced by PacketReader::checkPacket().
|
inlineinherited |
Set the allocated length in bytes of the data.
/param val Number of bytes allocated in data.
References nidas::util::DatagramPacketBase::maxlength.
|
inlineinherited |
References nidas::util::DatagramPacketBase::addr, and nidas::util::SocketAddress::clone().
Referenced by nidas::util::McSocketMulticaster< SocketTT >::run().
|
protectedinherited |
The destination address for a send, or the remote senders address after a receive.
Referenced by nidas::util::DatagramPacketBase::getConstSockAddrPtr(), nidas::util::DatagramPacketBase::getSockAddrLen(), nidas::util::DatagramPacketBase::getSockAddrPtr(), nidas::util::DatagramPacketBase::getSocketAddress(), nidas::util::DatagramPacketBase::operator=(), nidas::util::DatagramPacketBase::setSocketAddress(), and nidas::util::DatagramPacketBase::~DatagramPacketBase().
|
protected |
|
protectedinherited |
length of datagram that was read or will be sent.
Must be <= maxlength.
Referenced by nidas::util::DatagramPacketBase::getLength(), nidas::util::DatagramPacketBase::operator=(), and nidas::util::DatagramPacketBase::setLength().
|
protectedinherited |
allocated length in bytes of contents.
Referenced by nidas::util::DatagramPacketBase::getMaxLength(), nidas::util::DatagramPacketBase::operator=(), and nidas::util::DatagramPacketBase::setMaxLength().