Poster of Linux kernelThe best gift for a Linux geek
TRTPSessionBase

TRTPSessionBase

Section: C Library Functions (3) Updated: Fri Apr 1 2011
Local index Up
 

NAME

TRTPSessionBase -  

SYNOPSIS


#include <rtp.h>

Inherited by SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >.  

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)

Socket::Error setMcastTTL (uint8 ttl)
Set the value of the TTL field in the sent packets.
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

Socket::Error joinGroup (const InetMcastAddress &ia, uint32 iface)
Join a multicast group.
Socket::Error leaveGroup (const InetMcastAddress &ia)
Leave a multicast group.
void endSocket ()
 

Protected Attributes


RTPDataChannel * dso

RTCPChannel * cso
 

Friends


class RTPSessionBaseHandler

 

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

 

Constructor & Destructor Documentation

 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase (const InetHostAddress &ia, tpport_tdataPort, tpport_tcontrolPort, uint32membersSize, 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> TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase (uint32ssrc, const InetHostAddress &ia, tpport_tdataPort, tpport_tcontrolPort, uint32membersSize, 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> TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase (const InetMcastAddress &ia, tpport_tdataPort, tpport_tcontrolPort, uint32membersSize, RTPApplication &app, uint32iface) [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> TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase (uint32ssrc, const InetMcastAddress &ia, tpport_tdataPort, tpport_tcontrolPort, uint32membersSize, RTPApplication &app, uint32iface) [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 TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::~TRTPSessionBase () [inline, virtual]

 

Member Function Documentation

 

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

Reimplemented in SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >.  

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

 

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

 

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

 

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

 

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

 

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

 

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

 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> bool TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingControl (microtimeout_ttimeout) [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 TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingData (microtimeout_ttimeout) [inline, protected]Parameters:

timeout maximum timeout to wait, in microseconds

Reimplemented in SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >.  

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::joinGroup (const InetMcastAddress &ia, uint32iface) [inline, protected]

Join a multicast group. Parameters:

ia address of the multicast group

Returns:

error code from the socket operation

 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::leaveGroup (const InetMcastAddress &ia) [inline, protected]

Leave a multicast group. Parameters:

ia address of the multicast group

Returns:

error code from the socket operation

 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::recvControl (unsigned char *buffer, size_tlen, 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 TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::recvData (unsigned char *buffer, size_tlen, 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 TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendControl (const unsigned char *constbuffer, size_tlen) [inline, protected]Returns:

number of octets actually written

Parameters:

buffer
len

 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendData (const unsigned char *constbuffer, size_tlen) [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 TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setControlPeer (const InetAddress &host, tpport_tport) [inline, protected]

 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setDataPeer (const InetAddress &host, tpport_tport) [inline, protected]

 

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setMcastTTL (uint8ttl) [inline]

Set the value of the TTL field in the sent packets. Parameters:

ttl Time To Live

Returns:

error code from the socket operation

 

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* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::cso [protected]

 

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

 

Author

Generated automatically by Doxygen for ccRTP from the source code.


 

Index

NAME
SYNOPSIS
Public Member Functions
Protected Member Functions
Protected Attributes
Friends
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> class TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >
Constructor & Destructor Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase (const InetHostAddress &ia, tpport_tdataPort, tpport_tcontrolPort, uint32membersSize, RTPApplication &app) [inline]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase (uint32ssrc, const InetHostAddress &ia, tpport_tdataPort, tpport_tcontrolPort, uint32membersSize, RTPApplication &app) [inline]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase (const InetMcastAddress &ia, tpport_tdataPort, tpport_tcontrolPort, uint32membersSize, RTPApplication &app, uint32iface) [inline]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase (uint32ssrc, const InetMcastAddress &ia, tpport_tdataPort, tpport_tcontrolPort, uint32membersSize, RTPApplication &app, uint32iface) [inline]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> virtual TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::~TRTPSessionBase () [inline, virtual]
Member Function Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> virtual size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::dispatchBYE (const std::string &str) [inline, virtual]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::endSocket () [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> SOCKET TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getControlRecvSocket () const [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> InetHostAddress TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getControlSender (tpport_t *port = NULL) const [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> SOCKET TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDataRecvSocket () const [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> InetHostAddress TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDataSender (tpport_t *port = NULL) const [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> RTPDataChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDSO (void) [inline]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getNextDataPacketSize () const [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> bool TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingControl (microtimeout_ttimeout) [inline, protected]Parameters:
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> bool TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingData (microtimeout_ttimeout) [inline, protected]Parameters:
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::joinGroup (const InetMcastAddress &ia, uint32iface) [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::leaveGroup (const InetMcastAddress &ia) [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::recvControl (unsigned char *buffer, size_tlen, InetHostAddress &na, tpport_t &tp) [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::recvData (unsigned char *buffer, size_tlen, InetHostAddress &na, tpport_t &tp) [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendControl (const unsigned char *constbuffer, size_tlen) [inline, protected]Returns:
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendData (const unsigned char *constbuffer, size_tlen) [inline, protected]Parameters:
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setControlPeer (const InetAddress &host, tpport_tport) [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setDataPeer (const InetAddress &host, tpport_tport) [inline, protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setMcastTTL (uint8ttl) [inline]
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* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::cso [protected]
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> RTPDataChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::dso [protected]
Author

This document was created by man2html, using the manual pages.
Time: 21:57:47 GMT, April 16, 2011