# RTPBaseUDPIPv4Socket Class Reference
[Underlying transport protocol socket classes.]

A UDP/IPv4 socket class targetted at RTP stacks. More...

`#include <channel.h>`

List of all members.

## Public Member Functions

| RTPBaseUDPIPv4Socket (const InetAddress &ia, tpport_t port)
| Constructor for receiver.
| ~RTPBaseUDPIPv4Socket ()
bool | isPendingRecv (microtimeout_t timeout)
InetHostAddress | getSender (tpport_t &port) const
size_t | recv (unsigned char *buffer, size_t len)
size_t | getNextPacketSize () const
| Get size of next datagram waiting to be read.
Socket::Error | setMulticast (bool enable)
Socket::Error | join (const InetMcastAddress &ia, uint32 iface)
Socket::Error | drop (const InetMcastAddress &ia)
Socket::Error | setTimeToLive (unsigned char ttl)
| RTPBaseUDPIPv4Socket ()
| Constructor for transmitter.
void | setPeer (const InetAddress &ia, tpport_t port)
size_t | send (const unsigned char *const buffer, size_t len)
SOCKET | getRecvSocket () const
void | endSocket ()

## Detailed Description

A UDP/IPv4 socket class targetted at RTP stacks.

This class provides a flat interface that includes all the services required by an RTP stack.

It can be used in two ways:

To instantiate the DualSocket template, which will be used to instantiate an RTP stack template (such as TRTPSessionBase).

To directly instantiate an RTP stack template (such as TRTPSessionBase).

This class offers an example of the interface that other classes should provide in order to specialize the ccRTP stack for different underlying protocols.

Author:
  Federico Montesino Pouzols <fedemp@altern.org>

## Constructor & Destructor Documentation

RTPBaseUDPIPv4Socket::RTPBaseUDPIPv4Socket | ( | const InetAddress & | ia,
|  | tpport_t | port
| ) |  | `[inline]`

Constructor for receiver.

RTPBaseUDPIPv4Socket::~RTPBaseUDPIPv4Socket | ( | ) | `[inline]`

RTPBaseUDPIPv4Socket::RTPBaseUDPIPv4Socket | ( | ) | `[inline]`

Constructor for transmitter.

## Member Function Documentation

Socket::Error RTPBaseUDPIPv4Socket::drop | ( | const InetMcastAddress & | ia ) | `[inline]`

void RTPBaseUDPIPv4Socket::endSocket | ( | ) | `[inline]`

size_t RTPBaseUDPIPv4Socket::getNextPacketSize | ( | ) | const`[inline]`

Get size of next datagram waiting to be read.

SOCKET RTPBaseUDPIPv4Socket::getRecvSocket | ( | ) | const`[inline]`

InetHostAddress RTPBaseUDPIPv4Socket::getSender | ( | tpport_t & | port ) | const`[inline]`

bool RTPBaseUDPIPv4Socket::isPendingRecv | ( | microtimeout_t | timeout ) | `[inline]`

Socket::Error RTPBaseUDPIPv4Socket::join | ( | const InetMcastAddress & | ia,
|  | uint32 | iface
| ) |  | `[inline]`

size_t RTPBaseUDPIPv4Socket::recv | ( | unsigned char * | buffer,
|  | size_t | len
| ) |  | `[inline]`

size_t RTPBaseUDPIPv4Socket::send | ( | const unsigned char *const | buffer,
|  | size_t | len
| ) |  | `[inline]`

Socket::Error RTPBaseUDPIPv4Socket::setMulticast | ( | bool | enable ) | `[inline]`

void RTPBaseUDPIPv4Socket::setPeer | ( | const InetAddress & | ia,
|  | tpport_t | port
| ) |  | `[inline]`

Socket::Error RTPBaseUDPIPv4Socket::setTimeToLive | ( | unsigned char | ttl ) | `[inline]`

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

- channel.h