AmqpsIotHubConnection Class

  • java.lang.Object
    • org.apache.qpid.proton.engine.BaseHandler
      • com.microsoft.azure.sdk.iot.device.transport.amqps.AmqpsIotHubConnection

Implements

IotHubTransportConnection com.microsoft.azure.sdk.iot.device.transport.amqps.AmqpsSessionStateCallback

public final class AmqpsIotHubConnection
extends org.apache.qpid.proton.engine.BaseHandler
implements IotHubTransportConnection, com.microsoft.azure.sdk.iot.device.transport.amqps.AmqpsSessionStateCallback

An AMQPS IotHub connection between a device and an IoTHub or Edgehub. This class is responsible for reacting to connection level and reactor level events. It is also responsible for creating sessions and handlers for those sessions. An instance of this object may be reused after it has been closed.

Constructor Summary

Method Summary

Modifier and Type Method and Description
void close()

Closes the transport connection.

java.lang.String getConnectionId()

Gives the UUID associated with this connection instance.

void onAuthenticationFailed(String deviceId, TransportException transportException)

Executed when SAS based authentication fails for a device in this connection

void onAuthenticationSessionOpened()

Executed when the authentication session has successfully been opened.

void onCBSSessionClosedUnexpectedly(ErrorCondition errorCondition)

Executed if the CBS session closes unexpectedly.

void onConnectionBound(Event event)
void onConnectionInit(Event event)
void onConnectionLocalClose(Event event)
void onConnectionLocalOpen(Event event)
void onConnectionRemoteClose(Event event)
void onConnectionRemoteOpen(Event event)
void onDeviceSessionOpened(String deviceId)

Executed when a device's amqp session has successfully been opened.

void onMessageAcknowledged(Message message, DeliveryState deliveryState, String deviceId)

Executed when a message sent in this connection was acknowledged by the service.

void onMessageReceived(IotHubTransportMessage message)

Executed when a message was received by a session that this connection owns.

void onReactorFinal(Event event)
void onReactorInit(Event event)
void onSessionClosedAsExpected(String deviceId)

Executed if a session closes, but it was expected.

void onSessionClosedUnexpectedly(ErrorCondition errorCondition, String deviceId)

Executed if a session closes unexpectedly.

void onTimerTask(Event event)
void onTransportError(Event event)
void open()

Opens the transport connection object

void registerMultiplexedDevice(DeviceClientConfig config)
IotHubStatusCode sendMessage(Message message)

Send a single message to the IotHub over the Transport Connection

boolean sendMessageResult(IotHubTransportMessage message, IotHubMessageResult result)

Send an acknowledgement to the IotHub for a message that the Transport layer received

void setListener(IotHubListener listener)

Sets a listener into the Transport Connection object.

void unregisterMultiplexedDevice(DeviceClientConfig config)

Methods inherited from java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

Methods inherited from org.apache.qpid.proton.engine.BaseHandler

org.apache.qpid.proton.engine.BaseHandler.add org.apache.qpid.proton.engine.BaseHandler.children org.apache.qpid.proton.engine.BaseHandler.getHandler org.apache.qpid.proton.engine.BaseHandler.getHandler org.apache.qpid.proton.engine.BaseHandler.handle org.apache.qpid.proton.engine.BaseHandler.onConnectionBound org.apache.qpid.proton.engine.BaseHandler.onConnectionFinal org.apache.qpid.proton.engine.BaseHandler.onConnectionInit org.apache.qpid.proton.engine.BaseHandler.onConnectionLocalClose org.apache.qpid.proton.engine.BaseHandler.onConnectionLocalOpen org.apache.qpid.proton.engine.BaseHandler.onConnectionRemoteClose org.apache.qpid.proton.engine.BaseHandler.onConnectionRemoteOpen org.apache.qpid.proton.engine.BaseHandler.onConnectionUnbound org.apache.qpid.proton.engine.BaseHandler.onDelivery org.apache.qpid.proton.engine.BaseHandler.onLinkFinal org.apache.qpid.proton.engine.BaseHandler.onLinkFlow org.apache.qpid.proton.engine.BaseHandler.onLinkInit org.apache.qpid.proton.engine.BaseHandler.onLinkLocalClose org.apache.qpid.proton.engine.BaseHandler.onLinkLocalDetach org.apache.qpid.proton.engine.BaseHandler.onLinkLocalOpen org.apache.qpid.proton.engine.BaseHandler.onLinkRemoteClose org.apache.qpid.proton.engine.BaseHandler.onLinkRemoteDetach org.apache.qpid.proton.engine.BaseHandler.onLinkRemoteOpen org.apache.qpid.proton.engine.BaseHandler.onReactorFinal org.apache.qpid.proton.engine.BaseHandler.onReactorInit org.apache.qpid.proton.engine.BaseHandler.onReactorQuiesced org.apache.qpid.proton.engine.BaseHandler.onSelectableError org.apache.qpid.proton.engine.BaseHandler.onSelectableExpired org.apache.qpid.proton.engine.BaseHandler.onSelectableFinal org.apache.qpid.proton.engine.BaseHandler.onSelectableInit org.apache.qpid.proton.engine.BaseHandler.onSelectableReadable org.apache.qpid.proton.engine.BaseHandler.onSelectableUpdated org.apache.qpid.proton.engine.BaseHandler.onSelectableWritable org.apache.qpid.proton.engine.BaseHandler.onSessionFinal org.apache.qpid.proton.engine.BaseHandler.onSessionInit org.apache.qpid.proton.engine.BaseHandler.onSessionLocalClose org.apache.qpid.proton.engine.BaseHandler.onSessionLocalOpen org.apache.qpid.proton.engine.BaseHandler.onSessionRemoteClose org.apache.qpid.proton.engine.BaseHandler.onSessionRemoteOpen org.apache.qpid.proton.engine.BaseHandler.onTimerTask org.apache.qpid.proton.engine.BaseHandler.onTransport org.apache.qpid.proton.engine.BaseHandler.onTransportClosed org.apache.qpid.proton.engine.BaseHandler.onTransportError org.apache.qpid.proton.engine.BaseHandler.onTransportHeadClosed org.apache.qpid.proton.engine.BaseHandler.onTransportTailClosed org.apache.qpid.proton.engine.BaseHandler.onUnhandled org.apache.qpid.proton.engine.BaseHandler.setHandler org.apache.qpid.proton.engine.BaseHandler.setHandler

Constructor Details

AmqpsIotHubConnection

public AmqpsIotHubConnection(DeviceClientConfig config, boolean isMultiplexing)

Parameters:

config
isMultiplexing

AmqpsIotHubConnection

public AmqpsIotHubConnection(String hostName, boolean isWebsocketConnection, SSLContext sslContext, ProxySettings proxySettings)

Parameters:

hostName
isWebsocketConnection
sslContext
proxySettings

Method Details

close

public void close()

Closes the transport connection.

Throws:

getConnectionId

public String getConnectionId()

Gives the UUID associated with this connection instance. This string is used in conjunction with the callbacks with connection status updates to ensure that all connection status updates are relevant to this connection object

onAuthenticationFailed

public void onAuthenticationFailed(String deviceId, TransportException transportException)

Executed when SAS based authentication fails for a device in this connection

Parameters:

deviceId
transportException

onAuthenticationSessionOpened

public void onAuthenticationSessionOpened()

Executed when the authentication session has successfully been opened. Never called for x509 auth.

onCBSSessionClosedUnexpectedly

public void onCBSSessionClosedUnexpectedly(ErrorCondition errorCondition)

Executed if the CBS session closes unexpectedly. May be because one of its links closed unexpectedly, or if the session closed unexpectedly.

Parameters:

errorCondition

onConnectionBound

public void onConnectionBound(Event event)

Overrides:

AmqpsIotHubConnection.onConnectionBound(Event event)

Parameters:

event

onConnectionInit

public void onConnectionInit(Event event)

Overrides:

AmqpsIotHubConnection.onConnectionInit(Event event)

Parameters:

event

onConnectionLocalClose

public void onConnectionLocalClose(Event event)

Overrides:

AmqpsIotHubConnection.onConnectionLocalClose(Event event)

Parameters:

event

onConnectionLocalOpen

public void onConnectionLocalOpen(Event event)

Overrides:

AmqpsIotHubConnection.onConnectionLocalOpen(Event event)

Parameters:

event

onConnectionRemoteClose

public void onConnectionRemoteClose(Event event)

Overrides:

AmqpsIotHubConnection.onConnectionRemoteClose(Event event)

Parameters:

event

onConnectionRemoteOpen

public void onConnectionRemoteOpen(Event event)

Overrides:

AmqpsIotHubConnection.onConnectionRemoteOpen(Event event)

Parameters:

event

onDeviceSessionOpened

public void onDeviceSessionOpened(String deviceId)

Executed when a device's amqp session has successfully been opened. For multiplexing scenarios, this callback will be fired once per device.

Parameters:

deviceId

onMessageAcknowledged

public void onMessageAcknowledged(Message message, DeliveryState deliveryState, String deviceId)

Executed when a message sent in this connection was acknowledged by the service.

Parameters:

message
deliveryState
deviceId

onMessageReceived

public void onMessageReceived(IotHubTransportMessage message)

Executed when a message was received by a session that this connection owns. This message should be acknowledged later.

Parameters:

message

onReactorFinal

public void onReactorFinal(Event event)

Overrides:

AmqpsIotHubConnection.onReactorFinal(Event event)

Parameters:

event

onReactorInit

public void onReactorInit(Event event)

Overrides:

AmqpsIotHubConnection.onReactorInit(Event event)

Parameters:

event

onSessionClosedAsExpected

public void onSessionClosedAsExpected(String deviceId)

Executed if a session closes, but it was expected. Likely due to user calling close on the connection, or unregistering a device from an active multiplexed connection

Parameters:

deviceId

onSessionClosedUnexpectedly

public void onSessionClosedUnexpectedly(ErrorCondition errorCondition, String deviceId)

Executed if a session closes unexpectedly. May be because one of its links closed unexpectedly, or if the session closed unexpectedly.

Parameters:

errorCondition
deviceId

onTimerTask

public void onTimerTask(Event event)

Overrides:

AmqpsIotHubConnection.onTimerTask(Event event)

Parameters:

event

onTransportError

public void onTransportError(Event event)

Overrides:

AmqpsIotHubConnection.onTransportError(Event event)

Parameters:

event

open

public void open()

Opens the transport connection object

Throws:

registerMultiplexedDevice

public void registerMultiplexedDevice(DeviceClientConfig config)

Parameters:

config

sendMessage

public IotHubStatusCode sendMessage(Message message)

Send a single message to the IotHub over the Transport Connection

Parameters:

message

sendMessageResult

public boolean sendMessageResult(IotHubTransportMessage message, IotHubMessageResult result)

Send an acknowledgement to the IotHub for a message that the Transport layer received

Parameters:

message
result

setListener

public void setListener(IotHubListener listener)

Sets a listener into the Transport Connection object. This listener updates the Transport layer of connection status updates, message arrivals, and message acknowledgements

Parameters:

listener

unregisterMultiplexedDevice

public void unregisterMultiplexedDevice(DeviceClientConfig config)

Parameters:

config

Applies to

Azure SDK for Java

Latest