mco_iot_comm_connect_async

Call connect() on the specified address asynchronously.

For an overview see page ARF Applications in C

Prototype

 
    MCO_RET mco_iot_comm_connect_async(mco_iot_comm_h comm, 
                    const char *address,
                    timer_unit timeout, 
                    unsigned int n_attempts,
                    timer_unit interval,  
                    mco_sock_params_t *params);
 

Arguments

comm The communicator object
address The IP address to listen on (in format "iface:port")
timeout The connect() timeout (in milliseconds)
n_attempts The number of connection attempts — how many times connect() is called
interval The interval (in milliseconds) between connect() attempts
params The socket parameters defined for network communication

Description

This function calls connect() on the specified address asynchronously and returns immediately before the connection has been established. If the connection has been established successfully, the onConnect() callback is called. Otherwise the onDestroy() callback is invoked.

Return Codes

MCO_S_OK Connection successfully created
MCO_E_IOT_INVALID_HANDLE The communicator handle comm is invalid
MCO_E_NOMEM Unable to allocate memory for internal structures
MCO_E_NW_* Network error: unable to parse the address, create the socket, bind the socket or listen on the socket

Example

The code snippet below connects asynchronously to address 192.168.0.1:15000 with a connect timeout of 2 seconds, and 10 connect attempts with 1 second interval between attempts:

 
    int main(int argc, char *argv[])
    {
        ...
        CHECK(mco_iot_comm_connect_async(comm, "192.168.0.1:15000", 2000, 10, 1000, 0));
        ...
    }
     

Files

Header file:
mcoiot.h
Source file:
mcoiotcomm.c
Library:
libmcoiotcomm.a