#include <rtp.h>
Inheritance diagram for TRTPSessionBase< 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 |
| 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.
| 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. |
| 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.
| 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. |
| 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!
| 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. |
| 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.
| 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. |
| virtual TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::~TRTPSessionBase | ( | ) | [inline, virtual] |
| virtual size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::dispatchBYE | ( | const std::string & | str | ) | [inline, virtual] |
Reimplemented in SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >.
| void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::endSocket | ( | ) | [inline, protected] |
| SOCKET TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getControlRecvSocket | ( | ) | const [inline, protected] |
| InetHostAddress TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getControlSender | ( | tpport_t * | port = NULL |
) | const [inline, protected] |
| SOCKET TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDataRecvSocket | ( | ) | const [inline, protected] |
| InetHostAddress TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDataSender | ( | tpport_t * | port = NULL |
) | const [inline, protected] |
| RTPDataChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDSO | ( | void | ) | [inline] |
| size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getNextDataPacketSize | ( | ) | const [inline, protected] |
| bool TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingControl | ( | microtimeout_t | timeout | ) | [inline, protected] |
| timeout | maximum timeout to wait, in microseconds |
| bool TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingData | ( | microtimeout_t | timeout | ) | [inline, protected] |
| timeout | maximum timeout to wait, in microseconds |
Reimplemented in SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >.
| Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::joinGroup | ( | const InetMcastAddress & | ia, | |
| uint32 | iface | |||
| ) | [inline, protected] |
Join a multicast group.
| ia | address of the multicast group |
| Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::leaveGroup | ( | const InetMcastAddress & | ia | ) | [inline, protected] |
Leave a multicast group.
| ia | address of the multicast group |
| size_t 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.
| buffer | Buffer where to get data. | |
| len | Maximum number of octets to get. | |
| na | Source network address. | |
| tp | Source transport port. |
| size_t 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.
| buffer | Memory region to read to. | |
| len | Maximum number of octets to get. | |
| na | Source network address. | |
| tp | Source transport port. |
| size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendControl | ( | const unsigned char *const | buffer, | |
| size_t | len | |||
| ) | [inline, protected] |
| buffer | ||
| len |
| size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendData | ( | const unsigned char *const | buffer, | |
| size_t | len | |||
| ) | [inline, protected] |
| buffer | memory region to write from | |
| len | number of octets to write |
| void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setControlPeer | ( | const InetAddress & | host, | |
| tpport_t | port | |||
| ) | [inline, protected] |
| void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setDataPeer | ( | const InetAddress & | host, | |
| tpport_t | port | |||
| ) | [inline, protected] |
| Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setMcastTTL | ( | uint8 | ttl | ) | [inline] |
Set the value of the TTL field in the sent packets.
| ttl | Time To Live |
friend class RTPSessionBaseHandler [friend] |
RTCPChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::cso [protected] |
RTPDataChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::dso [protected] |
1.4.7