Microsoft Azure IoTHub client AMQP transport
Dependents: sht15_remote_monitoring RobotArmDemo iothub_client_sample_amqp iothub_client_sample_amqp ... more
This library implements the AMQP transport for Microsoft Azure IoTHub client. The code is replicated from https://github.com/Azure/azure-iot-sdks
Diff: iothubtransportamqp.c
- Revision:
- 30:20a85b733111
- Parent:
- 26:ee14eed604f6
- Child:
- 31:adadaef857c1
--- a/iothubtransportamqp.c Fri Feb 24 14:00:00 2017 -0800 +++ b/iothubtransportamqp.c Fri Mar 10 11:46:55 2017 -0800 @@ -15,6 +15,9 @@ TLSIO_CONFIG tls_io_config; tls_io_config.hostname = fqdn; tls_io_config.port = DEFAULT_IOTHUB_AMQP_PORT; + tls_io_config.underlying_io_interface = NULL; + tls_io_config.underlying_io_parameters = NULL; + // Codes_SRS_IOTHUBTRANSPORTAMQP_09_002: [getTLSIOTransport shall get `io_interface_description` using platform_get_default_tlsio())] const IO_INTERFACE_DESCRIPTION* io_interface_description = platform_get_default_tlsio(); @@ -120,6 +123,7 @@ static int IoTHubTransportAMQP_SetRetryPolicy(TRANSPORT_LL_HANDLE handle, IOTHUB_CLIENT_RETRY_POLICY retryPolicy, size_t retryTimeoutLimitInSeconds) { + // Codes_SRS_IOTHUBTRANSPORTAMQP_09_020: [IoTHubTransportAMQP_SetRetryPolicy shall call into the IoTHubTransport_AMQP_Common_SetRetryPolicy().] return IoTHubTransport_AMQP_Common_SetRetryPolicy(handle, retryPolicy, retryTimeoutLimitInSeconds); } @@ -129,8 +133,15 @@ return IoTHubTransport_AMQP_Common_GetHostname(handle); } +static IOTHUB_CLIENT_RESULT IoTHubTransportAMQP_SendMessageDisposition(MESSAGE_CALLBACK_INFO* message_data, IOTHUBMESSAGE_DISPOSITION_RESULT disposition) +{ + // Codes_SRS_IOTHUBTRANSPORTAMQP_10_001: [IoTHubTransportAMQP_SendMessageDisposition shall send the message disposition by calling into the IoTHubTransport_AMQP_Common_SendMessageDispostion().] + return IoTHubTransport_AMQP_Common_SendMessageDisposition(message_data, disposition); +} + static TRANSPORT_PROVIDER thisTransportProvider = { + IoTHubTransportAMQP_SendMessageDisposition, /*pfIotHubTransport_Send_Message_Disposition IoTHubTransport_Send_Message_Disposition;*/ IoTHubTransportAMQP_Subscribe_DeviceMethod, /*pfIoTHubTransport_Subscribe_DeviceMethod IoTHubTransport_Subscribe_DeviceMethod;*/ IoTHubTransportAMQP_Unsubscribe_DeviceMethod, /*pfIoTHubTransport_Unsubscribe_DeviceMethod IoTHubTransport_Unsubscribe_DeviceMethod;*/ IoTHubTransportAMQP_DeviceMethod_Response, @@ -151,6 +162,7 @@ }; /* Codes_SRS_IOTHUBTRANSPORTAMQP_09_019: [This function shall return a pointer to a structure of type TRANSPORT_PROVIDER having the following values for it's fields: +IoTHubTransport_SendMessageDisposition = IoTHubTransportAMQP_SendMessageDisposition IoTHubTransport_Subscribe_DeviceMethod = IoTHubTransportAMQP_Subscribe_DeviceMethod IoTHubTransport_Unsubscribe_DeviceMethod = IoTHubTransportAMQP_Unsubscribe_DeviceMethod IoTHubTransport_Subscribe_DeviceTwin = IoTHubTransportAMQP_Subscribe_DeviceTwin @@ -162,6 +174,7 @@ IoTHubTransport_Subscribe = IoTHubTransportAMQP_Subscribe IoTHubTransport_Unsubscribe = IoTHubTransportAMQP_Unsubscribe IoTHubTransport_DoWork = IoTHubTransportAMQP_DoWork +IoTHubTransport_SetRetryPolicy = IoTHubTransportAMQP_SetRetryPolicy IoTHubTransport_SetOption = IoTHubTransportAMQP_SetOption]*/ extern const TRANSPORT_PROVIDER* AMQP_Protocol(void) {