Introduction

THE PLAIN C CLIENT SDK

This is lowest level Nabto Client SDK, identical for all supported platforms. All other Nabto Client SDKs build on top of this. It is distributed as precompiled binaries, available from the artifacts repository.

CLIENT CONTEXT

The Client Context API manages the context where all connections live.

CONNECTION

The connection API is used to establish a connection to a specific device. A connection object is first created with nabto_client_connection_new and configured with the various nabto_client_connection_set_ functions, specifying how the connection should be established. Once configured, the connection can be established with nabto_client_connection_connect.

STREAMS

The Streams API is used to make a reliable stream on top of a connection. The stream is reliable and ensures data is received ordered and complete. If either of these conditions cannot be met, the stream will be closed in such a way that it is detectable.

TCP TUNNELLING

The TCP Tunnelling API is a high level wrapper for streams, allowing applications to tunnel traffic through Nabto by integrating through a simple TCP socket, just like e.g. SSH tunnels. TCP Tunnels can hence be used to quickly add remote access capabilities to existing applications that already support TCP communication.

CoAP

The CoAP API allows exchange of CoAP messages on top of a Nabto connection between a client and device. This is conceptually similar to Nabto 4 RPC but much more robust and complete.

MDNS

The mDNS API is used for discovering Nabto Edge devices on the local network.

FUTURES

The Future API makes it possible to use the async functions in this SDK either as callback based, blocking based or polled.

LISTENERS

The Listener API supports asynchronous functions that are expected to be invoked recurringly, for instance to listen for events on an established connection.

MISC - BUFFERS, ERRORS, LOGGING, VERSIONS

Functions for handling buffers, accessing error details, configuring logging and getting the SDK version.