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

Other Alias

ost::UDPReceive

SYNOPSIS


#include <socket.h>

Inherits ost::UDPSocket.

Inherited by ost::UDPDuplex.

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)

Additional Inherited Members

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 [email protected] Unreliable Datagram Peer Associations.

Constructor & Destructor Documentation

ost::UDPReceive::UDPReceive (const IPV4Address &bind, tpport_tport) [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_tport) [protected]

Member Function Documentation

Error ost::UDPReceive::connect (const IPV4Host &host, tpport_tport) [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::connect (const IPV6Host &host, tpport_tport) [protected]

Reimplemented from ost::UDPSocket.

Reimplemented in ost::UDPDuplex.

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

Reimplemented from ost::Socket.

References ost::Socket::drop().

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

Reimplemented from ost::Socket.

References ost::Socket::drop().

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

End receiver.

References ost::Socket::endSocket().

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

bool ost::UDPReceive::isInputReady (timeout_ttimeout = TIMEOUT_INF) [inline]

See if input queue has data packets available. Returns:

true if data packets available.

Parameters:

timeout in milliseconds.

References ost::Socket::isPending(), and ost::Socket::pendingInput.

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

Check for pending data. Returns:

true if data is waiting.

Parameters:

timeout in milliseconds.

References ost::Socket::isPending(), and ost::Socket::pendingInput.

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

Reimplemented from ost::Socket.

References ost::Socket::join().

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

Reimplemented from ost::Socket.

References ost::Socket::join().

ssize_t ost::UDPReceive::receive (void *buf, size_tlen) [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.

References _IOLEN64.

Error ost::UDPReceive::setMulticast (boolenable) [inline], [protected]

Reimplemented from ost::UDPSocket.

References ost::Socket::setMulticastByFamily().

Error ost::UDPReceive::setRouting (boolenable) [inline], [protected]

Reimplemented from ost::Socket.

References ost::Socket::setRouting().

Author

Generated automatically by Doxygen for GNU CommonC++ from the source code.