OPAL Version 3.10.4

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Protected Member Functions | Protected Attributes
OpalListenerUDP Class Reference

`#include <transports.h>`

Inheritance diagram for OpalListenerUDP:

## Public Member Functions

Construction
| OpalListenerUDP (OpalEndPoint &endpoint, PIPSocket::Address binding=PIPSocket::GetDefaultIpAny(), WORD port=0, PBoolean exclusive=true)
| OpalListenerUDP (OpalEndPoint &endpoint, const OpalTransportAddress &binding, OpalTransportAddress::BindOptions option)
| ~OpalListenerUDP ()
Overrides from OpalListener
virtual PBoolean | Open (const PNotifier &acceptHandler, ThreadMode mode=SpawnNewThreadMode)
virtual PBoolean | IsOpen ()
virtual void | Close ()
virtual OpalTransport * | Accept (const PTimeInterval &timeout)
virtual OpalTransport * | CreateTransport (const OpalTransportAddress &localAddress, const OpalTransportAddress &remoteAddress) const
virtual OpalTransportAddress | GetLocalAddress (const OpalTransportAddress &remoteAddress=OpalTransportAddress()) const
Member access
void | SetBufferSize (PINDEX size)
Public Member Functions inherited from OpalListenerIP
| OpalListenerIP (OpalEndPoint &endpoint, PIPSocket::Address binding=PIPSocket::GetDefaultIpAny(), WORD port=0, PBoolean exclusive=true)
| OpalListenerIP (OpalEndPoint &endpoint, const OpalTransportAddress &binding, OpalTransportAddress::BindOptions option)
WORD | GetListenerPort () const
Public Member Functions inherited from OpalListener
| OpalListener (OpalEndPoint &endpoint)
void | PrintOn (ostream &strm) const
void | CloseWait ()
void | CleanUpOnTermination ()

## Protected Member Functions

virtual const char * | GetProtoPrefix () const

## Protected Attributes

PMonitoredSocketsPtr | listenerBundle
PINDEX | m_bufferSize
Protected Attributes inherited from OpalListenerIP
PIPSocket::Address | localAddress
WORD | listenerPort
PBoolean | exclusiveListener
Protected Attributes inherited from OpalListener
OpalEndPoint & | endpoint
PThread * | thread
PNotifier | acceptHandler
ThreadMode | threadMode

## Constructor & Destructor Documentation

OpalListenerUDP::OpalListenerUDP | ( | OpalEndPoint & | endpoint,
|  | PIPSocket::Address | binding = `PIPSocket::GetDefaultIpAny()`,
|  | WORD | port = `0`,
|  | PBoolean | exclusive = `true`
| ) |  |

Create a new listener.

Parameters:

  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

OpalListenerUDP::OpalListenerUDP | ( | OpalEndPoint & | endpoint,
|  | const OpalTransportAddress & | binding,
|  | OpalTransportAddress::BindOptions | option
| ) |  |

Parameters:

  endpoint | Endpoint listener is used for
  binding | Local interface to listen on
  option | OPtions for binding

OpalListenerUDP::~OpalListenerUDP | ( |  | ) |

Destroy the listener thread.

## Member Function Documentation

virtual OpalTransport* OpalListenerUDP::Accept | ( | const PTimeInterval & | timeout | ) |

virtual

Accept a new incoming transport.

Parameters:

  timeout | Time to wait for incoming connection

Implements OpalListener.

virtual void OpalListenerUDP::Close | ( |  | ) |

virtual

Stop the listener thread and no longer accept incoming connections.

Implements OpalListener.

virtual OpalTransport* OpalListenerUDP::CreateTransport | ( | const OpalTransportAddress & | localAddress,
|  | const OpalTransportAddress & | remoteAddress
| ) |  | const

virtual

Create a transport compatible with this listener.

Implements OpalListener.

virtual OpalTransportAddress OpalListenerUDP::GetLocalAddress | ( | const OpalTransportAddress & | remoteAddress = `OpalTransportAddress()` | ) | const

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.

Reimplemented from OpalListenerIP.

virtual const char* OpalListenerUDP::GetProtoPrefix | ( |  | ) | const

protected virtual

Implements OpalListenerIP.

virtual PBoolean OpalListenerUDP::IsOpen | ( |  | ) |

virtual

Indicate if the listener is open.

Implements OpalListener.

virtual PBoolean OpalListenerUDP::Open | ( | const PNotifier & | acceptHandler,
|  | ThreadMode | mode = `SpawnNewThreadMode`
| ) |  |

virtual

Open the listener. Listen for an incoming connection and create a OpalTransport of the appropriate subclass.

If notifier function acceptHandler is non-NULL a thread is spawned to listen for incoming connections. The acceptHandler is called when a new connection is created. The INT parameter to the acceptHandler is a pointer to the new OpalTransport instance created by the listener.

If singleThread is false the acceptHandler function is called in the context of a new thread and the continues to listen for more connections. If true, then the acceptHandler function is called from within the listener threads context and no more connections are created. That is only a single connection is ever created by this listener.

If acceptHandler is NULL, then no thread is started and it is assumed that the caller is responsible for calling Accept() and waiting for the new connection.

Parameters:

  acceptHandler | Handler function for new connections
  mode | How handler function is called thread wise

Implements OpalListener.

void OpalListenerUDP::SetBufferSize | ( | PINDEX | size | ) |

inline

Set the size of UDP packet reads.

References m_bufferSize.

## Field Documentation

PMonitoredSocketsPtr OpalListenerUDP::listenerBundle

protected

PINDEX OpalListenerUDP::m_bufferSize

protected

Referenced by SetBufferSize().

The documentation for this class was generated from the following file:

- transports.h