ucommon
|
Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet. More...
#include <udp.h>
Public Member Functions | |
bool | isOutputReady (unsigned long timeout=0l) |
See if output queue is empty for sending more packets. | |
Error | setBroadcast (bool enable) |
Error | setRouting (bool enable) |
Error | setTypeOfService (Tos tos) |
ssize_t | transmit (const char *buffer, size_t len) |
Transmit "send" to use "connected" send rather than sendto. | |
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 IPV6Address &host, tpport_t port) |
Error | connect (const IPV4Broadcast &subnet, tpport_t port) |
Associate this socket with a subnet of peer hosts for subnet broadcasting. | |
Error | connect (const IPV4Multicast &mgroup, tpport_t port) |
Associate this socket with a multicast group. | |
Error | connect (const IPV6Multicast &mgroup, tpport_t port) |
void | endTransmitter (void) |
Stop transmitter. | |
SOCKET | getTransmitter (void) |
ssize_t | send (const void *buf, size_t len) |
Transmit "send" to use "connected" send rather than sendto. | |
Error | setMulticast (bool enable) |
Set the multicast. | |
Error | setTimeToLive (unsigned char ttl) |
UDPTransmit (Family family=IPV4) | |
Create a UDP transmitter. | |
UDPTransmit (const ucommon::Socket::address &bind) | |
Create a UDP transmitter, 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. | |
UDPTransmit (const IPV4Address &bind, tpport_t port=5005) | |
UDPTransmit (const IPV6Address &bind, tpport_t port=5005) |
Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet.
ost::UDPTransmit::UDPTransmit | ( | const ucommon::Socket::address & | bind | ) | [protected] |
Create a UDP transmitter, 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. This class is only used to build the UDP Duplex.
bind | address to bind this socket to. |
port | number to bind this socket to. If 0 or not specified, the bind socket address port is used. |
Error ost::UDPTransmit::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 to and received from the specified host.
host | address to connect socket to. |
port | to connect socket to. |
Reimplemented from ost::UDPSocket.
Reimplemented in ost::UDPDuplex.
Error ost::UDPTransmit::connect | ( | const IPV4Broadcast & | subnet, |
tpport_t | port | ||
) | [protected] |
Associate this socket with a subnet of peer hosts for subnet broadcasting.
The server must be able to assert broadcast permission for the socket.
subnet | subnet address to broadcast into. |
port | transport port to broadcast into. |
Error ost::UDPTransmit::connect | ( | const IPV4Multicast & | mgroup, |
tpport_t | port | ||
) | [protected] |
Associate this socket with a multicast group.
mgroup | address of the multicast group to send to. |
port | port number |
bool ost::UDPTransmit::isOutputReady | ( | unsigned long | timeout = 0l | ) | [inline] |
ssize_t ost::UDPTransmit::send | ( | const void * | buf, |
size_t | len | ||
) | [inline, protected] |
Transmit "send" to use "connected" send rather than sendto.
buf | address of buffer to send. |
len | of bytes to send. |
Reimplemented from ost::UDPSocket.
ssize_t ost::UDPTransmit::transmit | ( | const char * | buffer, |
size_t | len | ||
) | [inline] |