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 MNString & getSessionName ()
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