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 \fBIPV4Address\fP &bind, \fBtpport_t\fPport)\fC [protected]\fP

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 \fBIPV6Address\fP &bind, \fBtpport_t\fPport)\fC [protected]\fP

Member Function Documentation

\fBError\fP ost::UDPReceive::connect (const \fBIPV4Host\fP &host, \fBtpport_t\fPport)\fC [protected]\fP

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.

\fBError\fP ost::UDPReceive::connect (const \fBIPV6Host\fP &host, \fBtpport_t\fPport)\fC [protected]\fP

\fBError\fP ost::UDPReceive::drop (const \fBIPV4Multicast\fP &ia)\fC [inline]\fP, \fC [protected]\fP

References ost::Socket::drop().

\fBError\fP ost::UDPReceive::drop (const \fBIPV6Multicast\fP &ia)\fC [inline]\fP, \fC [protected]\fP

References ost::Socket::drop().

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

End receiver.

References ost::Socket::endSocket().

\fBSOCKET\fP ost::UDPReceive::getReceiver (void) const\fC [inline]\fP, \fC [protected]\fP

bool ost::UDPReceive::isInputReady (\fBtimeout_t\fPtimeout = \fC\fBTIMEOUT_INF\fP\fP)\fC [inline]\fP

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 (\fBtimeout_t\fPtimeout)\fC [inline]\fP, \fC [protected]\fP

Check for pending data.

Returns:

true if data is waiting.

Parameters:

timeout in milliseconds.

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

\fBError\fP ost::UDPReceive::join (const \fBIPV4Multicast\fP &ia)\fC [inline]\fP, \fC [protected]\fP

References ost::Socket::join().

\fBError\fP ost::UDPReceive::join (const \fBIPV6Multicast\fP &ia)\fC [inline]\fP, \fC [protected]\fP

References ost::Socket::join().

ssize_t ost::UDPReceive::receive (void *buf, size_tlen)\fC [inline]\fP

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.

\fBError\fP ost::UDPReceive::setMulticast (boolenable)\fC [inline]\fP, \fC [protected]\fP

References ost::Socket::setMulticastByFamily().

\fBError\fP ost::UDPReceive::setRouting (boolenable)\fC [inline]\fP, \fC [protected]\fP

References ost::Socket::setRouting().

Author

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