@@ -106,6 +106,8 @@ namespace RabbitMQ.Client
106106 public System.TimeSpan SocketWriteTimeout { get; set; }
107107 public RabbitMQ.Client.SslOption Ssl { get; set; }
108108 public bool TopologyRecoveryEnabled { get; set; }
109+ public RabbitMQ.Client.TopologyRecoveryExceptionHandler TopologyRecoveryExceptionHandler { get; set; }
110+ public RabbitMQ.Client.TopologyRecoveryFilter TopologyRecoveryFilter { get; set; }
109111 public System.Uri Uri { get; set; }
110112 public bool UseBackgroundThreadsForIO { get; set; }
111113 public string UserName { get; set; }
@@ -476,6 +478,38 @@ namespace RabbitMQ.Client
476478 int MinorVersion { get; }
477479 int Revision { get; }
478480 }
481+ public interface IRecordedBinding
482+ {
483+ System.Collections.Generic.IDictionary<string, object> Arguments { get; }
484+ string Destination { get; }
485+ string RoutingKey { get; }
486+ string Source { get; }
487+ }
488+ public interface IRecordedConsumer
489+ {
490+ System.Collections.Generic.IDictionary<string, object> Arguments { get; }
491+ bool AutoAck { get; }
492+ string ConsumerTag { get; }
493+ bool Exclusive { get; }
494+ string Queue { get; }
495+ }
496+ public interface IRecordedExchange
497+ {
498+ System.Collections.Generic.IDictionary<string, object> Arguments { get; }
499+ bool AutoDelete { get; }
500+ bool Durable { get; }
501+ string Name { get; }
502+ string Type { get; }
503+ }
504+ public interface IRecordedQueue
505+ {
506+ System.Collections.Generic.IDictionary<string, object> Arguments { get; }
507+ bool AutoDelete { get; }
508+ bool Durable { get; }
509+ bool Exclusive { get; }
510+ bool IsServerNamed { get; }
511+ string Name { get; }
512+ }
479513 public interface IRecoverable
480514 {
481515 event System.EventHandler<System.EventArgs> Recovery;
@@ -582,6 +616,26 @@ namespace RabbitMQ.Client
582616 public string ServerName { get; set; }
583617 public System.Security.Authentication.SslProtocols Version { get; set; }
584618 }
619+ public class TopologyRecoveryExceptionHandler
620+ {
621+ public TopologyRecoveryExceptionHandler() { }
622+ public System.Func<RabbitMQ.Client.IRecordedBinding, System.Exception, bool> BindingRecoveryExceptionCondition { get; set; }
623+ public System.Action<RabbitMQ.Client.IRecordedBinding, System.Exception, RabbitMQ.Client.IConnection> BindingRecoveryExceptionHandler { get; set; }
624+ public System.Func<RabbitMQ.Client.IRecordedConsumer, System.Exception, bool> ConsumerRecoveryExceptionCondition { get; set; }
625+ public System.Action<RabbitMQ.Client.IRecordedConsumer, System.Exception, RabbitMQ.Client.IConnection> ConsumerRecoveryExceptionHandler { get; set; }
626+ public System.Func<RabbitMQ.Client.IRecordedExchange, System.Exception, bool> ExchangeRecoveryExceptionCondition { get; set; }
627+ public System.Action<RabbitMQ.Client.IRecordedExchange, System.Exception, RabbitMQ.Client.IConnection> ExchangeRecoveryExceptionHandler { get; set; }
628+ public System.Func<RabbitMQ.Client.IRecordedQueue, System.Exception, bool> QueueRecoveryExceptionCondition { get; set; }
629+ public System.Action<RabbitMQ.Client.IRecordedQueue, System.Exception, RabbitMQ.Client.IConnection> QueueRecoveryExceptionHandler { get; set; }
630+ }
631+ public class TopologyRecoveryFilter
632+ {
633+ public TopologyRecoveryFilter() { }
634+ public System.Func<RabbitMQ.Client.IRecordedBinding, bool> BindingFilter { get; set; }
635+ public System.Func<RabbitMQ.Client.IRecordedConsumer, bool> ConsumerFilter { get; set; }
636+ public System.Func<RabbitMQ.Client.IRecordedExchange, bool> ExchangeFilter { get; set; }
637+ public System.Func<RabbitMQ.Client.IRecordedQueue, bool> QueueFilter { get; set; }
638+ }
585639}
586640namespace RabbitMQ.Client.Events
587641{
0 commit comments