mco_iot_init

Initialize the ARF (IoT) runtime.

For an overview see page ARF Applications in C

Prototype

 
    MCO_RET mco_iot_init();
 

Arguments

void No arguments

Description

This function initializes the ARF (IoT) runtime. It must be called in each process prior to creating and connecting to the database. (Note that this functionality is similar to the mco_cluster_init() and mco_HA_start().)

Return Codes

MCO_S_OK ARF runtime successfully initialized

Example

The code snippet below initializes the ARF (IoT) runtime and optionally adjusts the automatically generated IoT agent_id prior to opening the database

     
    int main(int argc, char *argv[])
    {
        mco_db_params_t db_params;
        mco_device_t dev;
        mco_db_h db;
        mco_iot_replicator_params_t repl_params;
        mco_iot_comm_params_t comm_params;
        mco_iot_replicator_h repl;
        mco_iot_comm_h comm;
        const char *conn_string = (argc > 1) ? argv[1] : "127.0.0.1:15000";
        ...
 
        /* Initialize eXtremeDB and IoT runtimes */
        mco_error_set_handler(&sample_errhandler);
        mco_runtime_start();
        mco_iot_init();
 
        /* Create database */
        dev.type       = MCO_MEMORY_CONV;
        dev.assignment = MCO_MEMORY_ASSIGN_DATABASE;
        dev.size       = DEVICE_DATABASE_SIZE;
        dev.dev.conv.ptr = (void*)malloc(dev.size);
        mco_db_params_init (&db_params);
        db_params.db_max_connections = 5;
 
        if (argc > 2) {
            db_params.iot_agent_id = atoi(argv[2]); /* Override the agent_id in the schema */
        }
        CHECK(mco_db_open_dev(db_name, iotdevice_get_dictionary(), &dev, 1, &db_params));
        CHECK(mco_db_connect(db_name, &db));
        ...
    }
     

Files

Header file:
mcoiot.h
Source file:
mcoiotdb.c
Library:
libmcoiotrepl.a