Initialize the ARF (IoT) runtime.
MCO_RET mco_iot_init();
| void | No arguments |
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().)
| MCO_S_OK | ARF runtime successfully initialized |
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));
...
}