|
| datagram_socket_tmpl () |
| Creates an unbound datagram socket. More...
|
|
| datagram_socket_tmpl (socket_t handle) |
| Creates a datagram socket from an existing OS socket handle and claims ownership of the handle. More...
|
|
| datagram_socket_tmpl (const ADDR &addr) |
| Creates a UDP socket and binds it to the address. More...
|
|
| datagram_socket_tmpl (datagram_socket_tmpl &&other) |
| Move constructor. More...
|
|
datagram_socket_tmpl & | operator= (datagram_socket_tmpl &&rhs) |
| Move assignment. More...
|
|
bool | bind (const ADDR &addr) |
| Binds the socket to the local address. More...
|
|
bool | connect (const ADDR &addr) |
| Connects the socket to the remote address. More...
|
|
ssize_t | send_to (const void *buf, size_t n, int flags, const ADDR &addr) |
| Sends a message to the socket at the specified address. More...
|
|
ssize_t | send_to (const std::string &s, int flags, const ADDR &addr) |
| Sends a string to the socket at the specified address. More...
|
|
ssize_t | send_to (const void *buf, size_t n, const ADDR &addr) |
| Sends a message to another socket. More...
|
|
ssize_t | send_to (const std::string &s, const ADDR &addr) |
| Sends a string to another socket. More...
|
|
ssize_t | recv_from (void *buf, size_t n, int flags, ADDR *srcAddr) |
| Receives a message on the socket. More...
|
|
ssize_t | recv_from (void *buf, size_t n, ADDR *srcAddr=nullptr) |
| Receives a message on the socket. More...
|
|
| datagram_socket () |
| Creates an uninitialized datagram socket.
|
|
| datagram_socket (socket_t handle) |
| Creates a datagram socket from an existing OS socket handle and claims ownership of the handle. More...
|
|
| datagram_socket (const sock_address &addr) |
| Creates a UDP socket and binds it to the address. More...
|
|
| datagram_socket (datagram_socket &&other) |
| Move constructor. More...
|
|
datagram_socket & | operator= (datagram_socket &&rhs) |
| Move assignment. More...
|
|
bool | connect (const sock_address &addr) |
| Connects the socket to the remote address. More...
|
|
ssize_t | send_to (const void *buf, size_t n, int flags, const sock_address &addr) |
| Sends a message to the socket at the specified address. More...
|
|
ssize_t | send_to (const std::string &s, int flags, const sock_address &addr) |
| Sends a string to the socket at the specified address. More...
|
|
ssize_t | send_to (const void *buf, size_t n, const sock_address &addr) |
| Sends a message to another socket. More...
|
|
ssize_t | send_to (const std::string &s, const sock_address &addr) |
| Sends a string to another socket. More...
|
|
ssize_t | send (const void *buf, size_t n, int flags=0) |
| Sends a message to the socket at the default address. More...
|
|
ssize_t | send (const std::string &s, int flags=0) |
| Sends a string to the socket at the default address. More...
|
|
ssize_t | recv_from (void *buf, size_t n, int flags, sock_address *srcAddr=nullptr) |
| Receives a message on the socket. More...
|
|
ssize_t | recv_from (void *buf, size_t n, sock_address *srcAddr=nullptr) |
| Receives a message on the socket. More...
|
|
ssize_t | recv (void *buf, size_t n, int flags=0) |
| Receives a message on the socket. More...
|
|
| socket () |
| Creates an unconnected (invalid) socket.
|
|
| socket (socket_t h) |
| Creates a socket from an existing OS socket handle. More...
|
|
| socket (socket &&sock) noexcept |
| Move constructor. More...
|
|
virtual | ~socket () |
| Destructor closes the socket.
|
|
bool | is_open () const |
| Determines if the socket is open (valid). More...
|
|
bool | operator! () const |
| Determines if the socket is closed or in an error state. More...
|
|
| operator bool () const |
| Determines if the socket is open and in an error-free state. More...
|
|
socket_t | handle () const |
| Get the underlying OS socket handle. More...
|
|
virtual sa_family_t | family () const |
| Gets the network family of the address to which the socket is bound. More...
|
|
socket | clone () const |
| Creates a new socket that refers to this one. More...
|
|
void | clear (int val=0) |
| Clears the error flag for the object. More...
|
|
socket_t | release () |
| Releases ownership of the underlying socket object. More...
|
|
void | reset (socket_t h=INVALID_SOCKET) |
| Replaces the underlying managed socket object. More...
|
|
socket & | operator= (socket &&sock) noexcept |
| Move assignment. More...
|
|
bool | bind (const sock_address &addr) |
| Binds the socket to the specified address. More...
|
|
sock_address_any | address () const |
| Gets the local address to which the socket is bound. More...
|
|
sock_address_any | peer_address () const |
| Gets the address of the remote peer, if this socket is connected. More...
|
|
bool | get_option (int level, int optname, void *optval, socklen_t *optlen) const |
| Gets the value of a socket option. More...
|
|
template<typename T > |
bool | get_option (int level, int optname, T *val) const |
| Gets the value of a socket option. More...
|
|
bool | set_option (int level, int optname, const void *optval, socklen_t optlen) |
| Sets the value of a socket option. More...
|
|
template<typename T > |
bool | set_option (int level, int optname, const T &val) |
| Sets the value of a socket option. More...
|
|
bool | set_non_blocking (bool on=true) |
| Places the socket into or out of non-blocking mode. More...
|
|
int | last_error () const |
| Gets the code for the last errror. More...
|
|
std::string | last_error_str () const |
| Gets a string describing the last errror. More...
|
|
bool | shutdown (int how=SHUT_RDWR) |
| Shuts down all or part of the full-duplex connection. More...
|
|
bool | close () |
| Closes the socket. More...
|
|
template<typename ADDR>
class sockpp::datagram_socket_tmpl< ADDR >
Base class for datagram sockets.
Datagram sockets are normally connectionless, where each packet is individually routed and delivered.