Active Replication Fabric API

The Active Replication Fabric Applications in C page describes the general principles of eXtremeDB Active Replication Fabric application design and implementation.

Please use the links below to view Reference Guide pages for the eXtremeDB Active Replication Fabric API functions:

Initialization

mco_iot_init
Initialize the ARF (IoT) runtime.

Communicator Functions

mco_iot_comm_params_init
Set the default values for the communicator.
mco_iot_comm_create
Create a communicator object.
mco_iot_comm_register_callback
Register callback functions.
mco_iot_comm_unregister_callback
Delete the callback function from the specified context.
mco_iot_comm_listen
Create a socket to listen on the specified IP address.
mco_iot_comm_stop_listen
Close the listen socket.
mco_iot_comm_connect_async
Call connect() on the specified address asynchronously.
mco_iot_comm_stop_connect
Interrupt the asynchronous connect initiated through mco_iot_comm_connect_async().
mco_iot_comm_find_conn
Find a connection by agentId.
mco_iot_comm_next_conn
Get the next active connection.
mco_iot_comm_stop
Stop the communicator.
mco_iot_comm_destroy
Destroy the communicator.

Connection Handle API

mco_iot_conn_get_address
Return the connection address.
mco_iot_conn_get_agent_id
Return the remote node agentId.
mco_iot_conn_get_stat
Receive connection statistics.
mco_iot_conn_get_error
Receive the last error description.
mco_iot_conn_get_comm
Return the communicator the current connection belongs to.
mco_iot_conn_release
Release the "pinned" connection.
mco_iot_conn_disconnect
Drop the connection.

Replicator Functions

mco_iot_replicator_params_init
Set the default values for the replicator.
mco_iot_replicator_create
Create a replicator object.
mco_iot_replicator_connect
Call connect() synchronously.
mco_iot_replicator_get_comm
Return the underlying communicator for the specified replicator.
mco_iot_replicator_get_agent_id
Return the agent_id of the specified node.
mco_iot_replicator_get_level
Return the level of the specified node.
mco_iot_replicator_set_level
Change the level of the router at runtime.
mco_iot_replicator_sync
Start the node's synchronization.
mco_iot_replicator_clear
Delete data that has been transmitted and acknowledged by the peer.
mco_iot_replicator_clear_class
Delete data only from the specified class that has been transmitted and acknowledged by the peer.
mco_iot_replicator_enum_agents
Enumerate the active connections.
mco_iot_replicator_stop
Stop the replicator.
mco_iot_replicator_destroy
Destroy the replicator.

Edge Database API

mco_edge_start
Initializes the edge runtime.
mco_edge_stop
Shuts down the edge runtime.
mco_edge_params_init
Initializes the edge parameters.
mco_edge_open
Opens(creates) an edge database.
mco_edge_close
Closes an edge database.
mco_edge_connect
Connects to an edge database.
mco_edge_disconnect
Disconnects from an edge database.

Transaction Control API (Edge Database)

mco_edge_trans_start
Starts a transaction.
mco_edge_trans_commit
Commits a transaction.
mco_edge_trans_rollback
Rolls back a transaction.
mco_edge_has_space
Checks if the edge database has space available.
mco_edge_total_space
Returns the total space available in the edge database.
mco_edge_used_space
Returns the amount of space used in the edge database.
mco_edge_sync
Sends successfully committed transactions to the server.
mco_edge_clear
Removes completed transactions from the edge database.

For details on network interaction between the Edge Client and the IoT Server, see the Edge Client Socket Interface page.