27#ifndef NIDAS_UTIL_DATAGRAMPACKET_H
28#define NIDAS_UTIL_DATAGRAMPACKET_H
34namespace nidas {
namespace util {
177template <
class DataT>
Abstract base class for a UDP datagram.
Definition DatagramPacket.h:39
virtual const void * getConstDataVoidPtr() const =0
DatagramPacketBase(const DatagramPacketBase &x)
Copy constructor.
Definition DatagramPacket.h:73
SocketAddress * addr
The destination address for a send, or the remote senders address after a receive.
Definition DatagramPacket.h:164
virtual void setLength(int val)
Set the value for the current number of bytes in data.
Definition DatagramPacket.h:128
const struct sockaddr * getConstSockAddrPtr() const
Definition DatagramPacket.h:111
DatagramPacketBase(int l, const SocketAddress &add)
Definition DatagramPacket.h:67
void setMaxLength(int val)
Set the allocated length in bytes of the data.
Definition DatagramPacket.h:141
SocketAddress & getSocketAddress() const
Definition DatagramPacket.h:100
void setSocketAddress(const SocketAddress &val)
Definition DatagramPacket.h:102
int length
length of datagram that was read or will be sent.
Definition DatagramPacket.h:158
int getSockAddrLen() const
Definition DatagramPacket.h:115
virtual ~DatagramPacketBase()
Virtual destructor.
Definition DatagramPacket.h:95
DatagramPacketBase & operator=(const DatagramPacketBase &rhs)
Assignment operator.
Definition DatagramPacket.h:81
virtual int getLength() const
Get the value for the current number of bytes in data.
Definition DatagramPacket.h:135
int maxlength
allocated length in bytes of contents.
Definition DatagramPacket.h:152
virtual void * getDataVoidPtr()=0
Get the pointer to the data portion of the packet.
DatagramPacketBase(int l, const Inet4Address &add, int port)
Create a DatagramPacketBase for sending.
Definition DatagramPacket.h:63
int getMaxLength() const
Return the allocated length in bytes of the data.
Definition DatagramPacket.h:146
struct sockaddr * getSockAddrPtr()
Definition DatagramPacket.h:109
DatagramPacketBase(int l)
Create a DatagramPacketBase for receiving.
Definition DatagramPacket.h:50
A DatagramPacket with a specific structure of data.
Definition DatagramPacket.h:178
DatagramPacketT & operator=(const DatagramPacketT &rhs)
Assignment operator.
Definition DatagramPacket.h:221
DatagramPacketT(DataT *buf, int n, const SocketAddress &add)
Definition DatagramPacket.h:202
DataT * getData()
Definition DatagramPacket.h:237
void setData(DataT *val)
Set the pointer to the data portion of the packet.
Definition DatagramPacket.h:246
DatagramPacketT(DataT *buf, int n)
Create a datagram packet from a pointer to some data.
Definition DatagramPacket.h:186
virtual void * getDataVoidPtr()
Get the pointer to the data portion of the packet.
Definition DatagramPacket.h:233
DataT * data
Definition DatagramPacket.h:249
DatagramPacketT(DataT *buf, int n, const Inet4Address &add, int port)
Create a DatagramPacket for sending.
Definition DatagramPacket.h:199
DatagramPacketT(const DatagramPacketT &x)
Copy constructor.
Definition DatagramPacket.h:210
virtual const void * getConstDataVoidPtr() const
Definition DatagramPacket.h:235
Definition DatagramPacket.h:255
DatagramPacket(char *buf, int length)
Definition DatagramPacket.h:257
DatagramPacket(char *buf, int length, const SocketAddress &add)
Definition DatagramPacket.h:273
DatagramPacket(char *buf, int length, const Inet4Address &add, int port)
Create a DatagramPacket for sending.
Definition DatagramPacket.h:270
Support for IP version 4 host address.
Definition Inet4Address.h:46
A IP version 4 socket address, containing a host address, and a port number.
Definition Inet4SocketAddress.h:41
An interface for a socket address.
Definition SocketAddress.h:36
virtual SocketAddress * clone() const =0
Virtual constructor.
virtual struct sockaddr * getSockAddrPtr()=0
Provide non-const pointer to struct sockaddr_in.
virtual socklen_t getSockAddrLen() const =0
Return the length of the struct sockaddr_XX for this address family.
virtual const struct sockaddr * getConstSockAddrPtr() const =0
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31
static n_u::SerialPort port
Definition sing.cc:68