#include <RTSPProxySessionFactory.h>
Collaboration diagram for RTSPProxySessionFactory:
Public Member Functions | |
RTSPProxySessionFactory () | |
~RTSPProxySessionFactory () | |
ProxySessionPtr | newSession (MNSelector &slct, int fd, MNString url, bool doDynReflection) |
ProxySessionPtr | newSession (MNSelector &slct, int fd) |
ProxySessionPtr | getSession (int num) |
ProxySessionPtr | findSessionWithSessionID (ControlBase *fb, u_int64_t SessionId) |
ProxySessionPtr | findSessionWithCSeq (ControlBase *fb, int CSeq) |
ProxySessionPtr | assignSessionId (ControlBase *fb, int cseq, u_int64_t id) |
void | assignDownstreamSessionId (int sessionNo) |
bool | forgetSession (u_int64_t sessionId) |
bool | forgetSession (ProxySessionPtr Session) |
bool | forgetSessionTeardown (ProxySessionPtr Session) |
bool | forgetSession (RTSPProxySession *Session) |
void | forgetSessionsBySocket (int fd) |
|
|
|
|
|
|
|
The function does TWO things: 1) it assigns the SessionID "id" to the ProxyClient, which received this Setup_Ok. ( found with cseq and fb ) 2) it assigns an arbitrary but unique SessionID to the ProxyServer (different from the upstream-SessionID) |
|
This method must be used when we are working with multiple state machines in the ProxySession-objects. Because there won't be same CSeq's for incoming and outgoing RTSP-messages!!! |
|
|
|
|
|
|
|
Remove a session from the list that performs a correct teardown and that has provided a valid session id. |
|
Delete all sessions that were multiplexed onto an RTSP socket that was closed. A teardown should be sent upstream for sessions that are closed in this way. |
|
|
|
|
|
|
|
Create a new proxy session. No detailed information about the request itself is stored in the session or in the table but the RTSP socket, which makes it possible to remove session if a socket closes without a teardown. |