mco_iot_replicator_destroy

Destroy the replicator.

For an overview see page ARF Applications in C

Prototype

 
    MCO_RET mco_iot_replicator_destroy(mco_iot_replicator_h repl); 
 

Arguments

repl The replicator object

Description

The function destroys the replicator.

Return Codes

MCO_S_OK Replicator successfully destroyed
MCO_E_IOT_INVALID_HANDLE Invalid replicator handle repl

Example

The code snippet below initializes the ARF (IoT) runtime, opens and connects the database, creates the communicator and replicator objects, then connects, synchronizes, stops and destroys the replicator:

     
    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));
        mco_iot_comm_params_init(&comm_params);
        CHECK(mco_iot_comm_create(&comm_params, &comm));
        mco_iot_replicator_params_init(&repl_params);
        CHECK(mco_iot_replicator_create(db, comm, &repl_params, &repl));
        ...
        CHECK(mco_iot_replicator_connect(repl, conn_string, 2*1000, 0));
        ...
        CHECK(mco_iot_replicator_sync(repl, MCO_IOT_SERVER_AGENT_ID, MCO_IOT_SYNC_PULL | MCO_IOT_SYNC_PUSH | MCO_IOT_SYNC_WAIT));
        ...
        CHECK(mco_iot_replicator_stop(repl));
        CHECK(mco_iot_comm_stop(comm));
        CHECK(mco_iot_replicator_destroy(repl));
        ...
    }
     

Files

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