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 setLoopback=True)
Boolean changePort (Port newPort)

Private Attributes

int fSocketNum
UsageEnvironmentfEnv
Port fPort
Boolean fSetLoopback

Detailed Description

Definition at line 80 of file NetInterface.hh.


Constructor & Destructor Documentation

Socket::~Socket (  )  [virtual]

Definition at line 100 of file NetInterface.cpp.

References closeSocket, and fSocketNum.

00100                 {
00101   closeSocket(fSocketNum);
00102 }

Socket::Socket ( UsageEnvironment env,
Port  port,
Boolean  setLoopback = True 
) [protected]

Definition at line 95 of file NetInterface.cpp.

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

00096   : fEnv(DefaultUsageEnvironment != NULL ? *DefaultUsageEnvironment : env), fPort(port), fSetLoopback(setLoopback) {
00097   fSocketNum = setupDatagramSocket(fEnv, port, setLoopback);
00098 }


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(), BasicUDPSource::BasicUDPSource(), Groupsock::changeDestinationParameters(), BasicUDPSource::doGetNextFrame(), BasicUDPSource::doStopGettingFrames(), SocketLookupTable::Fetch(), OnDemandServerMediaSubsession::getStreamParameters(), Groupsock::Groupsock(), Groupsock::handleRead(), MediaSubsession::initiate(), SIPClient::invite1(), main(), Groupsock::multicastSendOnly(), MultiFramedRTPSource::MultiFramedRTPSource(), operator<<(), RTPInterface::RTPInterface(), SIPClient::SIPClient(), RTPInterface::startNetworkReading(), 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 104 of file NetInterface.cpp.

References closeSocket, fEnv, fSetLoopback, fSocketNum, and setupDatagramSocket().

Referenced by Groupsock::changeDestinationParameters().

00104                                        {
00105   closeSocket(fSocketNum);
00106   fSocketNum = setupDatagramSocket(fEnv, newPort, fSetLoopback);
00107   return fSocketNum >= 0;
00108 }


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 106 of file NetInterface.hh.

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

UsageEnvironment& Socket::fEnv [private]

Definition at line 107 of file NetInterface.hh.

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

Port Socket::fPort [private]

Definition at line 108 of file NetInterface.hh.

Referenced by port().

Boolean Socket::fSetLoopback [private]

Definition at line 109 of file NetInterface.hh.

Referenced by changePort().

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 Tue Jul 22 06:41:08 2008 for live by  doxygen 1.5.2