#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) |
|
static bool | poll_for_timed_connects (int fd, int timeout) |
| Auxiliary method used in Synchronous connects in order to poll a connection for input, until a certain timeout is reached, and check all errors that might come out of the poll() call. More...
|
|
static bool | verify_poll_errors (int fd, int sysret, struct pollfd &fds) |
| After a poll call, this method will check for any errors that might have been returned from the poll itself. More...
|
|
◆ 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 |
◆ poll_for_timed_connects()
bool Xcom_network_provider_library::poll_for_timed_connects |
( |
int |
fd, |
|
|
int |
timeout |
|
) |
| |
|
static |
Auxiliary method used in Synchronous connects in order to poll a connection for input, until a certain timeout is reached, and check all errors that might come out of the poll() call.
- Parameters
-
fd | file descriptor to poll |
timeout | timeout (in msecs) to wait for activity in fd |
- Returns
- true in case of any error, false otherwise.
◆ 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 |
◆ verify_poll_errors()
bool Xcom_network_provider_library::verify_poll_errors |
( |
int |
fd, |
|
|
int |
sysret, |
|
|
struct pollfd & |
fds |
|
) |
| |
|
static |
After a poll call, this method will check for any errors that might have been returned from the poll itself.
- Parameters
-
fd | The file descriptor being poll-ed |
sysret | Return value from poll call |
fds | struct pollfd that contains fd used to call poll |
- Returns
- true In case of error
-
false otherwise
◆ 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: