OPAL
Version 3.14.3
|
#include <transports.h>
Public Member Functions | |
Construction | |
OpalListenerIP (OpalEndPoint &endpoint, PIPSocket::Address binding=PIPSocket::GetDefaultIpAny(), WORD port=0, PBoolean exclusive=true) | |
OpalListenerIP (OpalEndPoint &endpoint, const OpalTransportAddress &binding, OpalTransportAddress::BindOptions option) | |
Overrides from OpalListener | |
virtual OpalTransportAddress | GetLocalAddress (const OpalTransportAddress &remoteAddress=OpalTransportAddress()) const |
Operations | |
WORD | GetListenerPort () const |
virtual const PCaselessString & | GetProtoPrefix () const =0 |
![]() | |
OpalListener (OpalEndPoint &endpoint) | |
void | PrintOn (ostream &strm) const |
virtual bool | Open (const AcceptHandler &acceptHandler, ThreadMode mode=SpawnNewThreadMode) |
virtual bool | IsOpen () const =0 |
virtual void | Close ()=0 |
virtual OpalTransport * | Accept (const PTimeInterval &timeout)=0 |
virtual OpalTransport * | CreateTransport (const OpalTransportAddress &localAddress, const OpalTransportAddress &remoteAddress) const =0 |
void | CloseWait () |
void | CleanUpOnTermination () |
Protected Member Functions | |
bool | CanCreateTransport (const OpalTransportAddress &localAddress, const OpalTransportAddress &remoteAddress) const |
![]() | |
void | ListenForConnections () |
void | TransportThreadMain (OpalTransportPtr transport) |
Protected Attributes | |
PIPSocketAddressAndPort | m_binding |
bool | m_exclusiveListener |
![]() | |
OpalEndPoint & | m_endpoint |
PThread * | m_thread |
AcceptHandler | m_acceptHandler |
ThreadMode | m_threadMode |
Additional Inherited Members | |
![]() | |
enum | ThreadMode { SpawnNewThreadMode, HandOffThreadMode, SingleThreadMode } |
typedef PNotifierTemplate < const OpalTransportPtr & > | AcceptHandler |
OpalListenerIP::OpalListenerIP | ( | OpalEndPoint & | endpoint, |
PIPSocket::Address | binding = PIPSocket::GetDefaultIpAny() , |
||
WORD | port = 0 , |
||
PBoolean | exclusive = true |
||
) |
Create a new IP listener.
endpoint | Endpoint listener is used for |
binding | Local interface to listen on |
port | TCP port to listen for connections |
exclusive | Exclusive listening mode, no other process can accept on the port |
OpalListenerIP::OpalListenerIP | ( | OpalEndPoint & | endpoint, |
const OpalTransportAddress & | binding, | ||
OpalTransportAddress::BindOptions | option | ||
) |
endpoint | Endpoint listener is used for |
binding | Local interface to listen on |
option | OPtions for binding |
|
protected |
|
inline |
References m_binding.
|
virtual |
Get the local transport address on which this listener may be accessed. If remoteAddress is present and is an address that requires NAT for connectivity, then the returned address is adjusted to return the external address and port.
Implements OpalListener.
Reimplemented in OpalListenerUDP.
|
pure virtual |
Implemented in OpalListenerUDP, and OpalListenerTCP.
|
protected |
Referenced by GetListenerPort().
|
protected |