Google

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

UDPReceive Class Reference

Representing half of a two-way UDP connection, the UDP receiver can receive data from another peer host or subnet. Unreliable Datagram Peer Associations. More...

#include <socket.h>

Inheritance diagram for UDPReceive:

UDPSocket UDPDuplex List of all members.

Public Methods

int Receive (void *buf, size_t len)
 Receive a data packet from the connected peer host. More...

bool isInputReady (timeout_t timeout = TIMEOUT_INF)
 See if input queue has data packets available. More...


Protected Methods

 UDPReceive (const InetAddress &bind, tpport_t port)
 Create a UDP receiver, bind it to a specific interface and port address so that other UDP sockets on remote machines (or the same host) may find and send UDP messages to it, and associate it with a given port on a peer host. More...

sockerror_t Connect (const InetHostAddress &host, tpport_t port)
 Associate this socket with a specified peer host. More...

sockerror_t Disconnect (void)
 Disassociate this socket from any host connection. More...

bool isPendingReceive (timeout_t timeout)
 Check for pending data. More...

void endReceiver (void)
 End receiver.

SOCKET getReceiver (void)
sockerror_t setRouting (bool enable)

Detailed Description

Representing half of a two-way UDP connection, the UDP receiver can receive data from another peer host or subnet. Unreliable Datagram Peer Associations.

This class is used exclusivily to derive the UDPDuplex.

Author(s):
David Sugar <dyfet@ostel.com>


Constructor & Destructor Documentation

UDPReceive::UDPReceive ( const InetAddress & bind,
tpport_t port ) [protected]
 

Create a UDP receiver, bind it to a specific interface and port address so that other UDP sockets on remote machines (or the same host) may find and send UDP messages to it, and associate it with a given port on a peer host.

On failure to bind, an exception is thrown.

Parameters:
bind   address to bind this socket to.
port   number to bind this socket to.
port   number on peer host to associate with.


Member Function Documentation

sockerror_t UDPReceive::Connect ( const InetHostAddress & host,
tpport_t port ) [protected]
 

Associate this socket with a specified peer host.

The port number from the constructor will be used. All UDP packets will be sent received from the specified host.

Returns:
0 on success, -1 on error.
Parameters:
host   address to connect socket to.

Reimplemented in UDPDuplex.

sockerror_t UDPReceive::Disconnect ( void ) [protected]
 

Disassociate this socket from any host connection.

No data should be read or written until a connection is established.

Reimplemented in UDPDuplex.

int UDPReceive::Receive ( void * buf,
size_t len ) [inline]
 

Receive a data packet from the connected peer host.

Returns:
num of bytes actually received.
Parameters:
addr   of data receive buffer.
size   of data receive buffer.

void UDPReceive::endReceiver ( void ) [inline, protected]
 

End receiver.

SOCKET UDPReceive::getReceiver ( void ) [inline, protected]
 

bool UDPReceive::isInputReady ( timeout_t timeout = TIMEOUT_INF ) [inline]
 

See if input queue has data packets available.

Returns:
true if data packets available.
Parameters:
timeout   in milliseconds.

bool UDPReceive::isPendingReceive ( timeout_t timeout ) [inline, protected]
 

Check for pending data.

Returns:
true if data is waiting.
Parameters:
timeout   in milliseconds.

sockerror_t UDPReceive::setRouting ( bool enable ) [inline, protected]
 

Reimplemented from Socket.


The documentation for this class was generated from the following file:
Generated at Fri Mar 23 10:47:57 2001 for CommonC++ by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000