@@ -106,6 +106,8 @@ namespace RabbitMQ.Client
106
106
public System.TimeSpan SocketWriteTimeout { get; set; }
107
107
public RabbitMQ.Client.SslOption Ssl { get; set; }
108
108
public bool TopologyRecoveryEnabled { get; set; }
109
+ public RabbitMQ.Client.TopologyRecoveryExceptionHandler TopologyRecoveryExceptionHandler { get; set; }
110
+ public RabbitMQ.Client.TopologyRecoveryFilter TopologyRecoveryFilter { get; set; }
109
111
public System.Uri Uri { get; set; }
110
112
public bool UseBackgroundThreadsForIO { get; set; }
111
113
public string UserName { get; set; }
@@ -476,6 +478,38 @@ namespace RabbitMQ.Client
476
478
int MinorVersion { get; }
477
479
int Revision { get; }
478
480
}
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
+ }
479
513
public interface IRecoverable
480
514
{
481
515
event System.EventHandler<System.EventArgs> Recovery;
@@ -582,6 +616,26 @@ namespace RabbitMQ.Client
582
616
public string ServerName { get; set; }
583
617
public System.Security.Authentication.SslProtocols Version { get; set; }
584
618
}
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
+ }
585
639
}
586
640
namespace RabbitMQ.Client.Events
587
641
{
0 commit comments