ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue > Class Template Reference
[RTP sessions.]

#include <rtp.h>

Inheritance diagram for ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >:

ost::SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue > List of all members.

Public Member Functions

 TRTPSessionBase (const InetHostAddress &ia, tpport_t dataPort, tpport_t controlPort, uint32 membersSize, RTPApplication &app)
 Builds a session waiting for packets in a host address.
 TRTPSessionBase (uint32 ssrc, const InetHostAddress &ia, tpport_t dataPort, tpport_t controlPort, uint32 membersSize, RTPApplication &app)
 Builds a session with the specified ssrc identifier for the local source.
 TRTPSessionBase (const InetMcastAddress &ia, tpport_t dataPort, tpport_t controlPort, uint32 membersSize, RTPApplication &app, uint32 iface)
 Builds a session waiting for packets in a multicast address.
 TRTPSessionBase (uint32 ssrc, const InetMcastAddress &ia, tpport_t dataPort, tpport_t controlPort, uint32 membersSize, RTPApplication &app, uint32 iface)
 Builds a session waiting for packets in a multicast address, with the specified ssrc identifier for the local source.
virtual size_t dispatchBYE (const std::string &str)
virtual ~TRTPSessionBase ()
RTPDataChannel * getDSO (void)

Protected Member Functions

bool isPendingData (microtimeout_t timeout)
InetHostAddress getDataSender (tpport_t *port=NULL) const
size_t getNextDataPacketSize () const
size_t recvData (unsigned char *buffer, size_t len, InetHostAddress &na, tpport_t &tp)
 Receive data from the data channel/socket.
void setDataPeer (const InetAddress &host, tpport_t port)
size_t sendData (const unsigned char *const buffer, size_t len)
SOCKET getDataRecvSocket () const
bool isPendingControl (microtimeout_t timeout)
InetHostAddress getControlSender (tpport_t *port=NULL) const
size_t recvControl (unsigned char *buffer, size_t len, InetHostAddress &na, tpport_t &tp)
 Receive data from the control channel/socket.
void setControlPeer (const InetAddress &host, tpport_t port)
size_t sendControl (const unsigned char *const buffer, size_t len)
SOCKET getControlRecvSocket () const
void endSocket ()

Protected Attributes

RTPDataChannel * dso
RTCPChannel * cso

Friends

class RTPSessionBaseHandler

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
class ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >


Constructor & Destructor Documentation

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase const InetHostAddress &  ia,
tpport_t  dataPort,
tpport_t  controlPort,
uint32  membersSize,
RTPApplication app
[inline]
 

Builds a session waiting for packets in a host address.

Parameters:
ia Network address this socket is to be bound.
dataPort Transport port the data socket is to be bound.
controlPort Transport port the control socket is to be bound.
membersSize Initial size of the membership table.
app Application this session is associated to.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase uint32  ssrc,
const InetHostAddress &  ia,
tpport_t  dataPort,
tpport_t  controlPort,
uint32  membersSize,
RTPApplication app
[inline]
 

Builds a session with the specified ssrc identifier for the local source.

Parameters:
ssrc SSRC identifier for the local source.
ia Network address this socket is to be bound.
dataPort Transport port the data socket is to be bound.
controlPort Transport port the control socket is to be bound.
membersSize Initial size of the membership table.
app Application this session is associated to.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase const InetMcastAddress &  ia,
tpport_t  dataPort,
tpport_t  controlPort,
uint32  membersSize,
RTPApplication app,
uint32  iface
[inline]
 

Builds a session waiting for packets in a multicast address.

TODO: ssrc constructor for multicast!

Parameters:
ia Multicast address this socket is to be bound.
dataPort Transport port the data socket is to be bound.
controlPort Transport port the control socket is to be bound.
membersSize Initial size of the membership table.
app Application this session is associated to.
iface Index (from 0 to n) of network interface to join to multicast group.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase uint32  ssrc,
const InetMcastAddress &  ia,
tpport_t  dataPort,
tpport_t  controlPort,
uint32  membersSize,
RTPApplication app,
uint32  iface
[inline]
 

Builds a session waiting for packets in a multicast address, with the specified ssrc identifier for the local source.

Parameters:
ssrc SSRC identifier for the local source.
ia Multicast address this socket is to be bound.
dataPort Transport port the data socket is to be bound.
controlPort Transport port the control socket is to be bound.
membersSize Initial size of the membership table.
app Application this session is associated to.
iface Index (from 0 to n) of network interface to join to multicast group.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
virtual ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::~TRTPSessionBase  )  [inline, virtual]
 


Member Function Documentation

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
virtual size_t ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::dispatchBYE const std::string &  str  )  [inline, virtual]
 

Reimplemented in ost::SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
void ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::endSocket void   )  [inline, protected]
 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
SOCKET ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getControlRecvSocket  )  const [inline, protected]
 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
InetHostAddress ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getControlSender tpport_t port = NULL  )  const [inline, protected]
 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
SOCKET ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDataRecvSocket  )  const [inline, protected]
 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
InetHostAddress ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDataSender tpport_t port = NULL  )  const [inline, protected]
 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
RTPDataChannel* ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDSO void   )  [inline]
 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getNextDataPacketSize  )  const [inline, protected]
 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
bool ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingControl microtimeout_t  timeout  )  [inline, protected]
 

Parameters:
timeout maximum timeout to wait, in microseconds
Returns:
whether there are packets waiting to be picked

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
bool ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingData microtimeout_t  timeout  )  [inline, protected]
 

Parameters:
timeout maximum timeout to wait, in microseconds

Reimplemented in ost::SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::recvControl unsigned char *  buffer,
size_t  len,
InetHostAddress &  na,
tpport_t tp
[inline, protected]
 

Receive data from the control channel/socket.

Parameters:
buffer Buffer where to get data.
len Maximum number of octets to get.
na Source network address.
tp Source transport port.
Returns:
Number of octets actually read.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::recvData unsigned char *  buffer,
size_t  len,
InetHostAddress &  na,
tpport_t tp
[inline, protected]
 

Receive data from the data channel/socket.

Parameters:
buffer Memory region to read to.
len Maximum number of octets to get.
na Source network address.
tp Source transport port.
Returns:
Number of octets actually read.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendControl const unsigned char *const   buffer,
size_t  len
[inline, protected]
 

Returns:
number of octets actually written
Parameters:
buffer 
len 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendData const unsigned char *const   buffer,
size_t  len
[inline, protected]
 

Parameters:
buffer memory region to write from
len number of octets to write

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
void ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setControlPeer const InetAddress &  host,
tpport_t  port
[inline, protected]
 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
void ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setDataPeer const InetAddress &  host,
tpport_t  port
[inline, protected]
 


Friends And Related Function Documentation

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
friend class RTPSessionBaseHandler [friend]
 


Member Data Documentation

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
RTCPChannel* ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::cso [protected]
 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
RTPDataChannel* ost::TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::dso [protected]
 


The documentation for this class was generated from the following file:
Generated on Thu Apr 6 09:03:06 2006 for Bayonne Framework by  doxygen 1.4.6