Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

RTSPServerSession Class Reference

#include <RTSPServerSession.h>

Collaboration diagram for RTSPServerSession:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RTSPServerSession (MNRTSPSessionFactory *factory, MNSelector &selector, int sessionId, int rtspSocket, const MNString &path)
int Setup (const MNString &StreamName, ParseTransport *Trans, int bw, RTSPSetupHeader *cmd)
int SetParameter (RTSPSetParameterHeader *cmd)
int Ok (RTSPReplyHeader *reply)
int LookQueuedReqs ()
int InsertImmPlayRequest (const MNString &path, ParseTimeRange *range, RTSPParserBase *cmd)
int InsertDefPlayRequest (const MNString &StreamName, ParseTimeRange *range, RTSPParserBase *cmd)
int PauseReq (const MNString &path, MNList< MNString > &ContainerPaths, RTSPParserBase *cmd)
void GetSecImmQueueAccess ()
void RelSecImmQueueAccess ()
void GetSecDefQueueAccess ()
void RelSecDefQueueAccess ()
void SendNow (int command, int mask, int nextState)
void timethread ()
void QueueImm ()
int ChckContainerState (Container *HelpContainer)
virtual void streamerSetupResponse (bool success)
virtual void streamerResponse (int port, const char *msg)
virtual void sendSetParameterRequest ()
virtual void sendSetParameterOk ()
virtual void setDataPump (dataPump *pump)
virtual void sendAnnounce (int new_pt, long old_ssrc, long old_bytepos, long new_ssrc, long new_bytepos)
const MNStringgetSessionName ()
int getRtspSocket () const
bool mcStreamPlaying ()
bool isMc ()
bool isSessionMulticast ()
int getMulticastInformation (MNString &mchost, int &mcport)
const bool hasGui () const
bool isFormatswitchingDemanded () const
int getLastCSeq () const
void ref ()
void deref ()

Constructor & Destructor Documentation

RTSPServerSession::RTSPServerSession MNRTSPSessionFactory factory,
MNSelector selector,
int  sessionId,
int  rtspSocket,
const MNString path
 

The constructor is only called by the session factory. It initializes a new server session and stores some relevant information.

Parameters:
factory The factory that is creating this session. The caller should always pass this as this parameter. It is basically meant as a verification that the function is actually used by a session factory and nothing else.
selector Pass this selector reference to the state machine, and enable it to use the same thread as the RTSP listener.
sessionId The session id is assigned by the session factory. It is unique for the server even if several RTSP connection are multiplexed of the same TCP connection, or if other transport protocols than TCP are used.
rtspSocket This is the socket of the connection between client and this server in case of TCP. We use only TCP at this time but if another protocol were used, this parameter would have to be revisited. It is meant as an identifier that can be used to teardown connections implicitly when a RTSP socket is closed without a teardown.
path The request string that was received from the client in the describe or setup call which is the reason for this construction.


Member Function Documentation

int RTSPServerSession::ChckContainerState Container HelpContainer  ) 
 

void RTSPServerSession::deref  ) 
 

int RTSPServerSession::getLastCSeq  )  const [inline]
 

int RTSPServerSession::getMulticastInformation MNString mchost,
int &  mcport
 

int RTSPServerSession::getRtspSocket  )  const
 

Returns the RTSP-over-TCP socket that handles the communication for this connection. It is must only be called by the session factory.

void RTSPServerSession::GetSecDefQueueAccess  ) 
 

void RTSPServerSession::GetSecImmQueueAccess  ) 
 

const MNString& RTSPServerSession::getSessionName  ) 
 

const bool RTSPServerSession::hasGui  )  const [inline]
 

int RTSPServerSession::InsertDefPlayRequest const MNString StreamName,
ParseTimeRange range,
RTSPParserBase cmd
 

int RTSPServerSession::InsertImmPlayRequest const MNString path,
ParseTimeRange range,
RTSPParserBase cmd
 

bool RTSPServerSession::isFormatswitchingDemanded  )  const [inline]
 

bool RTSPServerSession::isMc  ) 
 

bool RTSPServerSession::isSessionMulticast  ) 
 

int RTSPServerSession::LookQueuedReqs  ) 
 

bool RTSPServerSession::mcStreamPlaying  ) 
 

int RTSPServerSession::Ok RTSPReplyHeader reply  ) 
 

int RTSPServerSession::PauseReq const MNString path,
MNList< MNString > &  ContainerPaths,
RTSPParserBase cmd
 

void RTSPServerSession::QueueImm  ) 
 

void RTSPServerSession::ref  ) 
 

void RTSPServerSession::RelSecDefQueueAccess  ) 
 

void RTSPServerSession::RelSecImmQueueAccess  ) 
 

virtual void RTSPServerSession::sendAnnounce int  new_pt,
long  old_ssrc,
long  old_bytepos,
long  new_ssrc,
long  new_bytepos
[virtual]
 

void RTSPServerSession::SendNow int  command,
int  mask,
int  nextState
 

virtual void RTSPServerSession::sendSetParameterOk  )  [virtual]
 

virtual void RTSPServerSession::sendSetParameterRequest  )  [virtual]
 

virtual void RTSPServerSession::setDataPump dataPump pump  )  [virtual]
 

int RTSPServerSession::SetParameter RTSPSetParameterHeader cmd  ) 
 

int RTSPServerSession::Setup const MNString StreamName,
ParseTransport Trans,
int  bw,
RTSPSetupHeader cmd
 

virtual void RTSPServerSession::streamerResponse int  port,
const char *  msg
[virtual]
 

virtual void RTSPServerSession::streamerSetupResponse bool  success  )  [virtual]
 

void RTSPServerSession::timethread  ) 
 


The documentation for this class was generated from the following file:
Generated on Sun Mar 6 13:36:14 2005 for Komssys by doxygen 1.3.8