#include <xcom_network_provider_native_lib.h>
|
static result | checked_create_socket (int domain, int type, int protocol) |
|
static struct addrinfo * | does_node_have_v4_address (struct addrinfo *retrieved) |
| Retrieves a node IPv4 address, if it exists. More...
|
|
static int | timed_connect (int fd, struct sockaddr *sock_addr, socklen_t sock_size) |
|
static int | timed_connect_sec (int fd, struct sockaddr *sock_addr, socklen_t sock_size, int timeout) |
|
static int | timed_connect_msec (int fd, struct sockaddr *sock_addr, socklen_t sock_size, int timeout) |
|
static int | allowlist_socket_accept (int fd, site_def const *xcom_config) |
|
static result | gcs_shut_close_socket (int *sock) |
|
static result | announce_tcp (xcom_port port) |
|
◆ allowlist_socket_accept()
int Xcom_network_provider_library::allowlist_socket_accept |
( |
int |
fd, |
|
|
site_def const * |
xcom_config |
|
) |
| |
|
static |
◆ announce_tcp()
◆ checked_create_socket()
result Xcom_network_provider_library::checked_create_socket |
( |
int |
domain, |
|
|
int |
type, |
|
|
int |
protocol |
|
) |
| |
|
static |
◆ create_server_socket()
result Xcom_network_provider_library::create_server_socket |
( |
| ) |
|
|
staticprivate |
◆ create_server_socket_v4()
result Xcom_network_provider_library::create_server_socket_v4 |
( |
| ) |
|
|
staticprivate |
◆ does_node_have_v4_address()
struct addrinfo * Xcom_network_provider_library::does_node_have_v4_address |
( |
struct addrinfo * |
retrieved | ) |
|
|
static |
Retrieves a node IPv4 address, if it exists.
If a node is v4 reachable, means one of two:
- The raw address is V4
- a name was resolved to a V4/V6 address
If the later is the case, we are going to prefer the first v4 address in the list, since it is the common language between old and new version. If you want exclusive V6, please configure your DNS server to serve V6 names
- Parameters
-
retrieved | a previously retrieved struct addrinfo |
- Returns
- struct addrinfo* An addrinfo of the first IPv4 address. Else it will return the entry parameter.
◆ gcs_close_socket()
result Xcom_network_provider_library::gcs_close_socket |
( |
int * |
sock | ) |
|
|
staticprivate |
◆ gcs_shut_close_socket()
result Xcom_network_provider_library::gcs_shut_close_socket |
( |
int * |
sock | ) |
|
|
static |
◆ gcs_shutdown_socket()
void Xcom_network_provider_library::gcs_shutdown_socket |
( |
int * |
sock | ) |
|
|
staticprivate |
◆ init_server_addr()
void Xcom_network_provider_library::init_server_addr |
( |
struct sockaddr ** |
sock_addr, |
|
|
socklen_t * |
sock_len, |
|
|
xcom_port |
port, |
|
|
int |
family |
|
) |
| |
|
staticprivate |
Initializes a sockaddr prepared to be used in bind()
- Parameters
-
sock_addr | struct sockaddr out parameter. You will need to free it after being used. |
sock_len | socklen_t out parameter. It will contain the length of sock_addr |
port | the port to bind. |
family | the address family |
◆ timed_connect()
int Xcom_network_provider_library::timed_connect |
( |
int |
fd, |
|
|
struct sockaddr * |
sock_addr, |
|
|
socklen_t |
sock_size |
|
) |
| |
|
static |
◆ timed_connect_msec()
int Xcom_network_provider_library::timed_connect_msec |
( |
int |
fd, |
|
|
struct sockaddr * |
sock_addr, |
|
|
socklen_t |
sock_size, |
|
|
int |
timeout |
|
) |
| |
|
static |
◆ timed_connect_sec()
int Xcom_network_provider_library::timed_connect_sec |
( |
int |
fd, |
|
|
struct sockaddr * |
sock_addr, |
|
|
socklen_t |
sock_size, |
|
|
int |
timeout |
|
) |
| |
|
static |
◆ xcom_checked_socket()
result Xcom_network_provider_library::xcom_checked_socket |
( |
int |
domain, |
|
|
int |
type, |
|
|
int |
protocol |
|
) |
| |
|
staticprivate |
Wrapper function which retries and checks errors from socket.
The documentation for this class was generated from the following files: