Socket Class Reference

#include <NetInterface.hh>

Inheritance diagram for Socket:

Inheritance graph
[legend]
Collaboration diagram for Socket:

Collaboration graph
[legend]

Public Member Functions

virtual ~Socket ()
virtual Boolean handleRead (unsigned char *buffer, unsigned bufferMaxSize, unsigned &bytesRead, struct sockaddr_in &fromAddress)=0
int socketNum () const
Port port () const
UsageEnvironmentenv () const

Static Public Attributes

static int DebugLevel = 1
static UsageEnvironmentDefaultUsageEnvironment = NULL

Protected Member Functions

 Socket (UsageEnvironment &env, Port port)
Boolean changePort (Port newPort)

Private Attributes

int fSocketNum
UsageEnvironmentfEnv
Port fPort

Detailed Description

Definition at line 80 of file NetInterface.hh.


Constructor & Destructor Documentation

Socket::~Socket (  )  [virtual]

Definition at line 93 of file NetInterface.cpp.

References closeSocket, and fSocketNum.

00093                 {
00094   closeSocket(fSocketNum);
00095 }

Socket::Socket ( UsageEnvironment env,
Port  port 
) [protected]

Definition at line 88 of file NetInterface.cpp.

References fEnv, fSocketNum, port(), and setupDatagramSocket().


Member Function Documentation

virtual Boolean Socket::handleRead ( unsigned char *  buffer,
unsigned  bufferMaxSize,
unsigned &  bytesRead,
struct sockaddr_in &  fromAddress 
) [pure virtual]

Implemented in OutputSocket, and Groupsock.

Referenced by socketReadHandler().

int Socket::socketNum (  )  const [inline]

Definition at line 89 of file NetInterface.hh.

References fSocketNum.

Referenced by GroupsockLookupTable::AddNew(), RTCPInstance::addStreamSocket(), BasicUDPSource::BasicUDPSource(), Groupsock::changeDestinationParameters(), continueAfterDESCRIBE(), BasicUDPSource::doGetNextFrame(), BasicUDPSource::doStopGettingFrames(), SocketLookupTable::Fetch(), OnDemandServerMediaSubsession::getStreamParameters(), Groupsock::Groupsock(), Groupsock::handleRead(), MediaSubsession::initiate(), SIPClient::invite1(), Groupsock::multicastSendOnly(), MultiFramedRTPSource::MultiFramedRTPSource(), operator<<(), RTPInterface::RTPInterface(), SIPClient::SIPClient(), RTPInterface::startNetworkReading(), PassiveServerMediaSubsession::startStream(), RTPInterface::stopNetworkReading(), unsetGroupsockBySocket(), OutputSocket::write(), BasicUDPSource::~BasicUDPSource(), and Groupsock::~Groupsock().

00089 { return fSocketNum; }

Port Socket::port (  )  const [inline]

Definition at line 91 of file NetInterface.hh.

References fPort.

Referenced by Groupsock::addDestination(), PassiveServerMediaSubsession::getStreamParameters(), Groupsock::Groupsock(), operator<<(), SocketLookupTable::Remove(), GroupsockLookupTable::Remove(), Groupsock::removeDestination(), PassiveServerMediaSubsession::sdpLines(), Socket(), and OutputSocket::write().

00091                     {
00092     return fPort;
00093   }

UsageEnvironment& Socket::env (  )  const [inline]

Definition at line 95 of file NetInterface.hh.

References fEnv.

Referenced by Groupsock::changeDestinationParameters(), getGroupsockBySocket(), getSocketTable(), Groupsock::Groupsock(), Groupsock::handleRead(), Groupsock::multicastSendOnly(), Groupsock::output(), Groupsock::outputToAllMembersExcept(), setGroupsockBySocket(), socketReadHandler(), unsetGroupsockBySocket(), Groupsock::wasLoopedBackFromUs(), OutputSocket::write(), and Groupsock::~Groupsock().

00095 { return fEnv; }

Boolean Socket::changePort ( Port  newPort  )  [protected]

Definition at line 97 of file NetInterface.cpp.

References closeSocket, False, fEnv, fSocketNum, TaskScheduler::moveSocketHandling(), setupDatagramSocket(), UsageEnvironment::taskScheduler(), True, and TaskScheduler::turnOffBackgroundReadHandling().

Referenced by Groupsock::changeDestinationParameters().

00097                                        {
00098   int oldSocketNum = fSocketNum;
00099   closeSocket(fSocketNum);
00100   fSocketNum = setupDatagramSocket(fEnv, newPort);
00101   if (fSocketNum < 0) {
00102     fEnv.taskScheduler().turnOffBackgroundReadHandling(oldSocketNum);
00103     return False;
00104   }
00105 
00106   if (fSocketNum != oldSocketNum) { // the socket number has changed, so move any event handling for it:
00107     fEnv.taskScheduler().moveSocketHandling(oldSocketNum, fSocketNum);
00108   }
00109   return True;
00110 }


Field Documentation

int Socket::DebugLevel = 1 [static]

Definition at line 97 of file NetInterface.hh.

Referenced by Groupsock::Groupsock(), Groupsock::handleRead(), Groupsock::output(), Groupsock::wasLoopedBackFromUs(), OutputSocket::write(), and Groupsock::~Groupsock().

int Socket::fSocketNum [private]

Definition at line 105 of file NetInterface.hh.

Referenced by changePort(), Socket(), socketNum(), and ~Socket().

UsageEnvironment& Socket::fEnv [private]

Definition at line 106 of file NetInterface.hh.

Referenced by changePort(), env(), and Socket().

Port Socket::fPort [private]

Definition at line 107 of file NetInterface.hh.

Referenced by port().

UsageEnvironment * NetInterface::DefaultUsageEnvironment = NULL [static, inherited]

Definition at line 32 of file NetInterface.hh.


The documentation for this class was generated from the following files:
Generated on Fri Sep 3 02:37:49 2010 for live by  doxygen 1.5.2