Example #1
0
 public void Disconnected(EventHub eventHub, CancellationToken token)
 {
     if (eventHub.reconnectCount == 1)
     {
         logger.Warn($"Channel {eventHub.Channel.Name} detected disconnect on event hub {eventHub} ({eventHub.Url})");
     }
     Task.Run(async() =>
     {
         await Task.Delay(500, token).ConfigureAwait(false);
         try
         {
             if (eventHub.TransactionContext == null)
             {
                 logger.Warn($"{ToString()} reconnect failed with no user context");
             }
             else
             {
                 await eventHub.ConnectAsync(eventHub.TransactionContext, true, token).ConfigureAwait(false);
             }
         }
         catch (Exception e)
         {
             logger.Warn($"Failed {ToString()} to reconnect. {e.Message}");
         }
     }, token);
 }