com.microsoft.azure.sdk.iot.device

The API for a device to communicate with an IoT Hub.

Classes

CustomLogger
DeviceClient

The public-facing API. Allows a single logical or physical device to connect to an IoT Hub. The IoT Hub client supports sending events to and receiving messages from an IoT Hub.

To support these workflows, the client library will provide the following abstractions: a message, with its payload and associated properties; and a client, which sends and receives messages.

The client buffers messages while the network is down, and re-sends them when the network comes back online. It also batches messages to improve communication efficiency (HTTPS only).

The client supports HTTPS 1.1 and AMQPS 1.0 transports.

DeviceClientConfig

Configuration settings for an IoT Hub client. Validates all user-defined settings.

DeviceIO

The task scheduler for sending and receiving messages for the Device Client

InternalClient
IotHubConnectionString

Parser for the Iothub connection string.

Message
MessageProperty

An IoT Hub message property.

ModuleClient

Public API for communicating from Edge Modules. A ModuleClient can be used to send messages from an Edge module to an EdgeHub or an IotHub. It can also send twin updates and listen for method calls from an EdgeHub or IotHub as well

ObjectLock

This class enables mocking of the base class wait and notify functions

ProductInfo

Represents the complete user agent string to be included in all D2C communication.

ResponseMessage

Extend Message to support status response

Template
TransportClient

The public-facing API. Allows user to create a transport client abstracton object to use it for multiple devices to connect to an IoT Hub using the same connection (multiplexing). Handle to register devices to transport client and open / closeNow the connection.

The multiplexed connection is supported with AMQPS / AMQPS_WS protocols.

Interfaces

IotHubConnectionStateCallback

An interface for an IoT Hub connection state callback.

Developers are expected to create an implementation of this interface, and the transport will call IotHubConnectionStateCallback#execute(IotHubConnectionState, Object) passing in the connection status (down, success, etc.).

IotHubConnectionStatusChangeCallback

Callback interface for allowing users to respond to changes in the connectivity of this sdk to Iot Hub.

IotHubEventCallback

An interface for an IoT Hub event callback.

Developers are expected to create an implementation of this interface, and the transport will call IotHubEventCallback#execute(IotHubStatusCode, Object) upon receiving a response from an IoT Hub.

IotHubResponseCallback

An interface for an IoT Hub response callback.

Developers are expected to create an implementation of this interface, and the transport will call IotHubResponseCallback#execute(ResponseMessage, Object) upon receiving a response from an IoT Hub.

MessageCallback

An interface for an IoT Hub message callback.

The developer is expected to create an implementation of this interface, and the transport will call MessageCallback#execute(Message, Object) upon receiving a message from an IoT Hub.

Enums

DeviceClientConfig.AuthType
DeviceIO.IotHubClientState

The state of the IoT Hub client's connection with the IoT Hub.

FeedbackStatusCodeEnum
IotHubClientProtocol

The application-layer protocol used by the client to communicate with an IoT Hub.

IotHubConnectionState

The IoT Hub connection state value.

IotHubConnectionStatusChangeReason
IotHubMessageResult

A return value from a message callback that instructs an IoT Hub to complete, abandon, or reject the message.

IotHubMethod

Generic IoT Hub Method.

IotHubStatusCode

An IoT Hub status code. Included in a message from an IoT Hub to a device.

MessageType

The IoTHub message type

TransportClient.TransportClientState