async Task <Outcome> SendAmqpMessageAsync(AmqpMessage amqpMessage) { Outcome outcome; try { SendingAmqpLink eventSendingLink = await this.GetEventSendingLinkAsync(); outcome = await eventSendingLink.SendMessageAsync(amqpMessage, IotHubConnection.GetNextDeliveryTag(ref this.eventsDeliveryTag), AmqpConstants.NullBinary, this.OperationTimeout); } catch (Exception exception) { if (exception.IsFatal()) { throw; } throw AmqpClientHelper.ToIotHubClientContract(exception); } return(outcome); }