Representing half of a two-way UDP connection, the UDP receiver can receive data from another peer host or subnet.
More...
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) |
| | UDPSocket (Family family=IPV4) |
| | Create an unbound UDP socket, mostly for internal use.
|
| | UDPSocket (const char *name, Family family=IPV4) |
| | Create a UDP socket bound by a service name.
|
| | UDPSocket (const IPV4Address &bind, tpport_t port) |
| | Create a UDP socket and 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.
|
| | UDPSocket (const IPV6Address &bind, tpport_t port) |
| virtual | ~UDPSocket () |
| | Destroy a UDP socket as a socket.
|
| Error | setLoopback (bool enable) |
| | Set the loopback.
|
| Error | setTimeToLive (char ttl) |
| | Set time to live.
|
| void | setPeer (const IPV4Host &host, tpport_t port) |
| | set the peer address to send message packets to.
|
| void | setPeer (const IPV6Host &host, tpport_t port) |
| Socket::Error | getInterfaceIndex (const char *ethX, int &InterfaceIndex) |
| | get the interface index for a named network device
|
| Socket::Error | join (const IPV4Multicast &ia, int InterfaceIndex) |
| | join a multicast group on a particular interface
|
| ssize_t | send (const void *buf, size_t len) |
| | Send a message packet to a peer host.
|
| ssize_t | receive (void *buf, size_t len, bool reply=false) |
| | Receive a message from any host.
|
| IPV4Host | getIPV4Peer (tpport_t *port=NULL) const |
| | Examine address of sender of next waiting packet.
|
| IPV4Host | getPeer (tpport_t *port=NULL) const |
| IPV6Host | getIPV6Peer (tpport_t *port=NULL) const |
| ssize_t | peek (void *buf, size_t len) |
| | Examine contents of next waiting packet.
|
| void | setPeer (const char *service) |
| | Associate socket with a named connection.
|
| void | connect (const char *service) |
| Error | disconnect (void) |
| | Disassociate this socket from any host connection.
|
| virtual | ~Socket () |
| | The socket base class may be "thrown" as a result of an error, and the "catcher" may then choose to destroy the object.
|
| Socket & | operator= (const Socket &from) |
| | Sockets may also be duplicated by the assignment operator.
|
| virtual IPV4Host | getIPV4Sender (tpport_t *port=NULL) const |
| | May be used to examine the origin of data waiting in the socket receive queue.
|
| IPV4Host | getSender (tpport_t *port=NULL) const |
| virtual IPV6Host | getIPV6Sender (tpport_t *port=NULL) const |
| IPV4Host | getIPV4Local (tpport_t *port=NULL) const |
| | Get the local address and port number this socket is currently bound to.
|
| IPV4Host | getLocal (tpport_t *port=NULL) const |
| IPV6Host | getIPV6Local (tpport_t *port=NULL) const |
| IPV4Host | getIPV4NAT (tpport_t *port=NULL) const |
| | Perform NAT table lookup for this socket.
|
| IPV4Host | getNAT (tpport_t *port) const |
| IPV6Host | getIPV6NAT (tpport_t *port=NULL) const |
| void | setCompletion (bool immediate) |
| | Used to specify blocking mode for the socket.
|
| Error | setLinger (bool linger) |
| | Enable lingering sockets on close.
|
| Error | setTypeOfService (Tos service) |
| | Set packet scheduling on platforms which support ip quality of service conventions.
|
| bool | isConnected (void) const |
| | Can test to see if this socket is "connected", and hence whether a "catch" can safely call getPeer().
|
| bool | isActive (void) const |
| | Test to see if the socket is at least operating or if it is mearly initialized.
|
| bool | operator! () const |
| | Operator based testing to see if a socket is currently active.
|
| bool | isBroadcast (void) const |
| | Return if broadcast has been enabled for the specified socket.
|
| bool | isRouted (void) const |
| | Return if socket routing is enabled.
|
| Error | getErrorNumber (void) const |
| | Often used by a "catch" to fetch the last error of a thrown socket.
|
| const char * | getErrorString (void) const |
| | Often used by a "catch" to fetch the user set error string of a thrown socket, but only if EXTENDED error codes are used.
|
| long | getSystemError (void) const |
| const char * | getSystemErrorString (void) const |
| virtual bool | isPending (Pending pend, timeout_t timeout=TIMEOUT_INF) |
| | Get the status of pending operations.
|
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.nosp@m.@ost.nosp@m.el.co.nosp@m.m Unreliable Datagram Peer Associations.