The xSQL server provides the following functions to control the IoT runtime:
xsql_iot_enable()Turn on the IoT runtime xsql_iot_disable()Turn off the IoT runtime xsql_iot_enable_connection()Turn on the IoT connector xsql_iot_disable_connection()Turn off the IoT connector xsql_iot_connections()List the configured IoT connectors; i.e. the ways to establish connections for this node, as they are configured in the xsql config file. For server it's usually one or more listen ports, for devices - the connection string to connect the server or router xsql_iot_list()Returns a list of active connections. i.e. the currently connected IoT nodes. For example, on the server this will be a list of connected routers or devices xsql_iot_get_level()Returns the device type:
- 1 indicates top level server;
- 65535 indicates end-point device.
- Values between 1 and 65535 are reserved for routers
xsql_iot_set_level()Changes the level of the router at runtime xsql_iot_get_agent_id()Returns device or server agent_idThe arguments for the following 5 functions are :
agent_idThe device id to/from which the replication is initiated. Zero indicates "all devices" non_blockFor "no-blocking" mode (if the send()is impossible, data is buffered in memory)waitWait for completion of the operation (until ackis received)tablenameThe name of the table (to remove with xsql_iot_clear_class())
Note that
non_blockandwaitcannot both be true at the same time!xsql_iot_push(agent_id bigint, non_block boolean, wait boolean)Push modifications to a device xsql_iot_pull(agent_id bigint, non_block boolean, wait boolean);Request modifications from the device xsql_iot_sync(agent_id bigint, non_block boolean, wait boolean);Call xsql_iot_push()andxsql_iot_pull()xsql_iot_clear(agent_id bigint)Remove replicated and confirmed data on the device (0 means all devices). Note that this affects only uptable's on the device and downtable's on the server xsql_iot_clear_class(agent_id bigint, tablename string)Remove replicated and confirmed data from the specified table on the device. Note that this affects only uptable's on the device and downtable's on the server