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