Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

ost::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 ost::UDPReceive:

ost::UDPSocket ost::Socket ost::UDPDuplex List of all members.

Public Member Functions

ssize_t receive (void *buf, size_t len)
 Receive a data packet from the connected peer host.
bool isInputReady (timeout_t timeout=TIMEOUT_INF)
 See if input queue has data packets available.

Protected Member Functions

 UDPReceive (const IPV4Address &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.
 UDPReceive (const IPV6Address &bind, tpport_t port)
Error connect (const IPV4Host &host, tpport_t port)
 Associate this socket with a specified peer host.
Error connect (const IPV6Host &host, tpport_t port)
bool isPendingReceive (timeout_t timeout)
 Check for pending data.
void endReceiver (void)
 End receiver.
SOCKET getReceiver (void) const
Error setRouting (bool enable)
Error setMulticast (bool enable)
Error join (const IPV4Multicast &ia)
Error join (const IPV6Multicast &ia)
Error drop (const IPV4Multicast &ia)
Error drop (const IPV6Multicast &ia)

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:
David Sugar <dyfet@ostel.com>


Constructor & Destructor Documentation

ost::UDPReceive::UDPReceive const IPV4Address 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.

ost::UDPReceive::UDPReceive const IPV6Address bind,
tpport_t  port
[protected]
 


Member Function Documentation

Error ost::UDPReceive::connect const IPV6Host host,
tpport_t  port
[protected]
 

Reimplemented from ost::UDPSocket.

Reimplemented in ost::UDPDuplex.

Error ost::UDPReceive::connect const IPV4Host 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 host network address to connect socket to.
port host transport port to connect socket to.

Reimplemented from ost::UDPSocket.

Reimplemented in ost::UDPDuplex.

Error ost::UDPReceive::drop const IPV6Multicast ia  )  [inline, protected]
 

Reimplemented from ost::Socket.

Error ost::UDPReceive::drop const IPV4Multicast ia  )  [inline, protected]
 

Reimplemented from ost::Socket.

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

End receiver.

SOCKET ost::UDPReceive::getReceiver void   )  const [inline, protected]
 

bool ost::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 ost::UDPReceive::isPendingReceive timeout_t  timeout  )  [inline, protected]
 

Check for pending data.

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

Error ost::UDPReceive::join const IPV6Multicast ia  )  [inline, protected]
 

Reimplemented from ost::Socket.

Error ost::UDPReceive::join const IPV4Multicast ia  )  [inline, protected]
 

Reimplemented from ost::Socket.

ssize_t ost::UDPReceive::receive void *  buf,
size_t  len
[inline]
 

Receive a data packet from the connected peer host.

Returns:
num of bytes actually received.
Parameters:
buf address of data receive buffer.
len size of data receive buffer.

Error ost::UDPReceive::setMulticast bool  enable  )  [inline, protected]
 

Reimplemented from ost::UDPSocket.

Error ost::UDPReceive::setRouting bool  enable  )  [inline, protected]
 

Reimplemented from ost::Socket.


The documentation for this class was generated from the following file:
Generated on Fri Jul 22 01:17:29 2005 for GNU CommonC++ by  doxygen 1.4.3-20050530