HexapiBackground.IoTClient.StartAsync C# (CSharp) Method

StartAsync() private method

This starts waiting for messages from the IoT Hub.
private StartAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
        internal async Task StartAsync()
        {
            while (true)
            {
                try
                {
                    var receivedMessage = await _deviceClient.ReceiveAsync(new TimeSpan(int.MaxValue));

                    if (receivedMessage == null)
                        continue;

                    foreach (var prop in receivedMessage.Properties)
                    {
                        await _display.WriteAsync($"{prop.Key} {prop.Value}");
                    }

                    await _deviceClient.CompleteAsync(receivedMessage);

                    var messageData = Encoding.ASCII.GetString(receivedMessage.GetBytes());

                    IotEvent?.Invoke(null, new IotEventArgs { EventData = receivedMessage.Properties, MessageData = messageData});
                }
                catch
                {
                    //Write out to the display perhaps
                }
            }
        }
    }