UCommon
Public Member Functions | Protected Member Functions
ost::UDPReceive Class Reference

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

#include <udp.h>

Inheritance diagram for ost::UDPReceive:
Inheritance graph
[legend]
Collaboration diagram for ost::UDPReceive:
Collaboration graph
[legend]

Public Member Functions

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

Protected Member Functions

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

Detailed Description

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

This class is used exclusivily to derive the UDPDuplex.

Author:
David Sugar <dyfet@ostel.com> Unreliable Datagram Peer Associations.

Definition at line 445 of file udp.h.


Constructor & Destructor Documentation

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:
bindaddress to bind this socket to.

Member Function Documentation

Error ost::UDPReceive::connect ( const ucommon::Socket::address host) [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:
hosthost network address to connect socket to.
porthost transport port to connect socket to.

Reimplemented from ost::UDPSocket.

Reimplemented in ost::UDPDuplex.

See if input queue has data packets available.

Returns:
true if data packets available.
Parameters:
timeoutin milliseconds.

Definition at line 538 of file udp.h.

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

Check for pending data.

Returns:
true if data is waiting.
Parameters:
timeoutin milliseconds.

Definition at line 484 of file udp.h.

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:
bufaddress of data receive buffer.
lensize of data receive buffer.

Definition at line 529 of file udp.h.


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