com.microsoft.azure.sdk.iot.device.transport

A transport for sending and receiving IoT Hub messages, along with supporting functionality.

Classes

ExponentialBackoffWithJitter

Represents a retry policy that performs exponential backoff with jitter retries.

HttpProxySocketFactory
IotHubReceiveTask

Polls an IoT Hub for messages and invokes a callback if one is found. Meant to be used with an executor that continuously calls run().

IotHubReconnectTask

Thread that waits for disconnection events and then owns the reconnection execution once a disconnection event is detected.

IotHubSendTask

Sends batched messages and invokes callbacks on completed requests. Meant to be used with an executor that continuously calls run().

IotHubServiceException

Exception class that covers all exceptions communicated from the IoT Hub that are not due to connection issues in the transport protocols. These exceptions map to standard status codes from the service (401 : unauthorized, 404 : not found, etc.)

IotHubTransport

Manages queueing of message sending, receiving and callbacks. Manages notifying users of connection status change updates

IotHubTransportMessage

Extends Message, adding transport artifacts.

IotHubTransportPacket

A packet containing the data needed for an IoT Hub transport to send a message.

MultiplexedDeviceState

represents the connection state of a single multiplexed device client.

MultiplexingDeviceUnauthorizedException

Exception that is thrown when one or more devices fail to register to an active multiplexed connection. Only thrown by AMQP layer, not by MultiplexingClient layer.

NoRetry

Represents a retry policy that performs no retries.

ProtocolException

Exception class that covers all exceptions that occur within transport protocol communication. For example, if a amqp:connection:forced exception is given by AMQP.

RetryDecision

Represents the retry details

TransportException
TransportUtils
IotHubTransport.MessageRetryRunnable

Task for adding a packet back to the waiting queue. Used for delaying message retry

Interfaces

IotHubListener

Callback interface for communicating connection and message status updates from individual protocol clients (mqtt, https, amqps) to the transport layer that handles queueing of messages and connecting/reconnecting/disconnecting

IotHubTransportConnection

Interface of what all a Transport Connection object must do. Serves to decouple the Message Queueing of the Transport layer from the protocol specific details of the Connection layer.

RetryPolicy

An interface for the retry policy.

Enums

IotHubConnectionStatus