diff --git a/projects/Benchmarks/ConsumerDispatching/AsyncBasicConsumerFake.cs b/projects/Benchmarks/ConsumerDispatching/AsyncBasicConsumerFake.cs index 37c5b0bb2a..0dfb28a58b 100644 --- a/projects/Benchmarks/ConsumerDispatching/AsyncBasicConsumerFake.cs +++ b/projects/Benchmarks/ConsumerDispatching/AsyncBasicConsumerFake.cs @@ -19,7 +19,7 @@ public AsyncBasicConsumerFake(ManualResetEventSlim autoResetEvent) } public Task HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, ReadOnlyMemory body) + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { if (Interlocked.Increment(ref _current) == Count) { @@ -30,7 +30,7 @@ public Task HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redel } Task IBasicConsumer.HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, ReadOnlyMemory body) + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { if (Interlocked.Increment(ref _current) == Count) { diff --git a/projects/RabbitMQ.Client/PublicAPI.Shipped.txt b/projects/RabbitMQ.Client/PublicAPI.Shipped.txt index 73cb3d6d2a..9c2e282e77 100644 --- a/projects/RabbitMQ.Client/PublicAPI.Shipped.txt +++ b/projects/RabbitMQ.Client/PublicAPI.Shipped.txt @@ -62,7 +62,7 @@ override RabbitMQ.Client.AmqpTimestamp.GetHashCode() -> int override RabbitMQ.Client.AmqpTimestamp.ToString() -> string override RabbitMQ.Client.Events.AsyncEventingBasicConsumer.HandleBasicCancelOk(string consumerTag) -> System.Threading.Tasks.Task override RabbitMQ.Client.Events.AsyncEventingBasicConsumer.HandleBasicConsumeOk(string consumerTag) -> System.Threading.Tasks.Task -override RabbitMQ.Client.Events.AsyncEventingBasicConsumer.HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.ReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task +override RabbitMQ.Client.Events.AsyncEventingBasicConsumer.HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.IReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task override RabbitMQ.Client.Events.AsyncEventingBasicConsumer.HandleChannelShutdown(object channel, RabbitMQ.Client.ShutdownEventArgs reason) -> System.Threading.Tasks.Task override RabbitMQ.Client.Events.EventingBasicConsumer.HandleBasicCancelOk(string consumerTag) -> void override RabbitMQ.Client.Events.EventingBasicConsumer.HandleBasicConsumeOk(string consumerTag) -> void @@ -117,12 +117,12 @@ RabbitMQ.Client.BasicCredentialsProvider.Refresh() -> void RabbitMQ.Client.BasicCredentialsProvider.UserName.get -> string RabbitMQ.Client.BasicCredentialsProvider.ValidUntil.get -> System.TimeSpan? RabbitMQ.Client.BasicGetResult -RabbitMQ.Client.BasicGetResult.BasicGetResult(ulong deliveryTag, bool redelivered, string exchange, string routingKey, uint messageCount, in RabbitMQ.Client.ReadOnlyBasicProperties basicProperties, System.ReadOnlyMemory body) -> void +RabbitMQ.Client.BasicGetResult.BasicGetResult(ulong deliveryTag, bool redelivered, string exchange, string routingKey, uint messageCount, RabbitMQ.Client.IReadOnlyBasicProperties basicProperties, System.ReadOnlyMemory body) -> void RabbitMQ.Client.BasicProperties RabbitMQ.Client.BasicProperties.AppId.get -> string RabbitMQ.Client.BasicProperties.AppId.set -> void RabbitMQ.Client.BasicProperties.BasicProperties() -> void -RabbitMQ.Client.BasicProperties.BasicProperties(RabbitMQ.Client.ReadOnlyBasicProperties input) -> void +RabbitMQ.Client.BasicProperties.BasicProperties(RabbitMQ.Client.IReadOnlyBasicProperties input) -> void RabbitMQ.Client.BasicProperties.ClearAppId() -> void RabbitMQ.Client.BasicProperties.ClearClusterId() -> void RabbitMQ.Client.BasicProperties.ClearContentEncoding() -> void @@ -292,11 +292,11 @@ RabbitMQ.Client.Events.BaseExceptionEventArgs.BaseExceptionEventArgs(System.Coll RabbitMQ.Client.Events.BasicAckEventArgs RabbitMQ.Client.Events.BasicAckEventArgs.BasicAckEventArgs(ulong deliveryTag, bool multiple) -> void RabbitMQ.Client.Events.BasicDeliverEventArgs -RabbitMQ.Client.Events.BasicDeliverEventArgs.BasicDeliverEventArgs(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, in RabbitMQ.Client.ReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> void +RabbitMQ.Client.Events.BasicDeliverEventArgs.BasicDeliverEventArgs(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.IReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> void RabbitMQ.Client.Events.BasicNackEventArgs RabbitMQ.Client.Events.BasicNackEventArgs.BasicNackEventArgs(ulong deliveryTag, bool multiple, bool requeue) -> void RabbitMQ.Client.Events.BasicReturnEventArgs -RabbitMQ.Client.Events.BasicReturnEventArgs.BasicReturnEventArgs(ushort replyCode, string replyText, string exchange, string routingKey, RabbitMQ.Client.ReadOnlyBasicProperties basicProperties, System.ReadOnlyMemory body) -> void +RabbitMQ.Client.Events.BasicReturnEventArgs.BasicReturnEventArgs(ushort replyCode, string replyText, string exchange, string routingKey, RabbitMQ.Client.IReadOnlyBasicProperties basicProperties, System.ReadOnlyMemory body) -> void RabbitMQ.Client.Events.CallbackExceptionEventArgs RabbitMQ.Client.Events.CallbackExceptionEventArgs.CallbackExceptionEventArgs(System.Collections.Generic.IDictionary detail, System.Exception exception) -> void RabbitMQ.Client.Events.ConnectionBlockedEventArgs @@ -413,7 +413,7 @@ RabbitMQ.Client.IAsyncBasicConsumer.ConsumerCancelled -> RabbitMQ.Client.Events. RabbitMQ.Client.IAsyncBasicConsumer.HandleBasicCancel(string consumerTag) -> System.Threading.Tasks.Task RabbitMQ.Client.IAsyncBasicConsumer.HandleBasicCancelOk(string consumerTag) -> System.Threading.Tasks.Task RabbitMQ.Client.IAsyncBasicConsumer.HandleBasicConsumeOk(string consumerTag) -> System.Threading.Tasks.Task -RabbitMQ.Client.IAsyncBasicConsumer.HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.ReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task +RabbitMQ.Client.IAsyncBasicConsumer.HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.IReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task RabbitMQ.Client.IAsyncBasicConsumer.HandleChannelShutdown(object channel, RabbitMQ.Client.ShutdownEventArgs reason) -> System.Threading.Tasks.Task RabbitMQ.Client.IAuthMechanism RabbitMQ.Client.IAuthMechanism.handleChallenge(byte[] challenge, RabbitMQ.Client.ConnectionConfig config) -> byte[] @@ -766,7 +766,7 @@ RabbitMQ.Client.TopologyRecoveryFilter.QueueFilter.get -> System.Func void RabbitMQ.Client.TopologyRecoveryFilter.TopologyRecoveryFilter() -> void readonly RabbitMQ.Client.AmqpTimestamp.UnixTime -> long -readonly RabbitMQ.Client.BasicGetResult.BasicProperties -> RabbitMQ.Client.ReadOnlyBasicProperties +readonly RabbitMQ.Client.BasicGetResult.BasicProperties -> RabbitMQ.Client.IReadOnlyBasicProperties readonly RabbitMQ.Client.BasicGetResult.Body -> System.ReadOnlyMemory readonly RabbitMQ.Client.BasicGetResult.DeliveryTag -> ulong readonly RabbitMQ.Client.BasicGetResult.Exchange -> string @@ -798,7 +798,7 @@ readonly RabbitMQ.Client.Events.BaseExceptionEventArgs.Detail -> System.Collecti readonly RabbitMQ.Client.Events.BaseExceptionEventArgs.Exception -> System.Exception readonly RabbitMQ.Client.Events.BasicAckEventArgs.DeliveryTag -> ulong readonly RabbitMQ.Client.Events.BasicAckEventArgs.Multiple -> bool -readonly RabbitMQ.Client.Events.BasicDeliverEventArgs.BasicProperties -> RabbitMQ.Client.ReadOnlyBasicProperties +readonly RabbitMQ.Client.Events.BasicDeliverEventArgs.BasicProperties -> RabbitMQ.Client.IReadOnlyBasicProperties readonly RabbitMQ.Client.Events.BasicDeliverEventArgs.Body -> System.ReadOnlyMemory readonly RabbitMQ.Client.Events.BasicDeliverEventArgs.ConsumerTag -> string readonly RabbitMQ.Client.Events.BasicDeliverEventArgs.DeliveryTag -> ulong @@ -808,7 +808,7 @@ readonly RabbitMQ.Client.Events.BasicDeliverEventArgs.RoutingKey -> string readonly RabbitMQ.Client.Events.BasicNackEventArgs.DeliveryTag -> ulong readonly RabbitMQ.Client.Events.BasicNackEventArgs.Multiple -> bool readonly RabbitMQ.Client.Events.BasicNackEventArgs.Requeue -> bool -readonly RabbitMQ.Client.Events.BasicReturnEventArgs.BasicProperties -> RabbitMQ.Client.ReadOnlyBasicProperties +readonly RabbitMQ.Client.Events.BasicReturnEventArgs.BasicProperties -> RabbitMQ.Client.IReadOnlyBasicProperties readonly RabbitMQ.Client.Events.BasicReturnEventArgs.Body -> System.ReadOnlyMemory readonly RabbitMQ.Client.Events.BasicReturnEventArgs.Exchange -> string readonly RabbitMQ.Client.Events.BasicReturnEventArgs.ReplyCode -> ushort @@ -863,7 +863,7 @@ static readonly RabbitMQ.Client.PublicationAddress.PSEUDO_URI_PARSER -> System.T virtual RabbitMQ.Client.AsyncDefaultBasicConsumer.HandleBasicCancel(string consumerTag) -> System.Threading.Tasks.Task virtual RabbitMQ.Client.AsyncDefaultBasicConsumer.HandleBasicCancelOk(string consumerTag) -> System.Threading.Tasks.Task virtual RabbitMQ.Client.AsyncDefaultBasicConsumer.HandleBasicConsumeOk(string consumerTag) -> System.Threading.Tasks.Task -virtual RabbitMQ.Client.AsyncDefaultBasicConsumer.HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.ReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task +virtual RabbitMQ.Client.AsyncDefaultBasicConsumer.HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.IReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task virtual RabbitMQ.Client.AsyncDefaultBasicConsumer.HandleChannelShutdown(object channel, RabbitMQ.Client.ShutdownEventArgs reason) -> System.Threading.Tasks.Task virtual RabbitMQ.Client.AsyncDefaultBasicConsumer.OnCancel(params string[] consumerTags) -> System.Threading.Tasks.Task virtual RabbitMQ.Client.DefaultBasicConsumer.HandleBasicCancel(string consumerTag) -> void @@ -882,7 +882,7 @@ virtual RabbitMQ.Client.TcpClientAdapter.ReceiveTimeout.get -> System.TimeSpan virtual RabbitMQ.Client.TcpClientAdapter.ReceiveTimeout.set -> void ~const RabbitMQ.Client.RabbitMQActivitySource.PublisherSourceName = "RabbitMQ.Client.Publisher" -> string ~const RabbitMQ.Client.RabbitMQActivitySource.SubscriberSourceName = "RabbitMQ.Client.Subscriber" -> string -~override RabbitMQ.Client.Events.EventingBasicConsumer.HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.ReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task +~override RabbitMQ.Client.Events.EventingBasicConsumer.HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.IReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task ~RabbitMQ.Client.AmqpTcpEndpoint.AmqpTcpEndpoint(string hostName, int portOrMinusOne, RabbitMQ.Client.SslOption ssl, uint maxInboundMessageBodySize) -> void ~RabbitMQ.Client.ConnectionFactory.CreateConnectionAsync(RabbitMQ.Client.IEndpointResolver endpointResolver, string clientProvidedName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task ~RabbitMQ.Client.ConnectionFactory.CreateConnectionAsync(string clientProvidedName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task @@ -891,7 +891,7 @@ virtual RabbitMQ.Client.TcpClientAdapter.ReceiveTimeout.set -> void ~RabbitMQ.Client.ConnectionFactory.CreateConnectionAsync(System.Collections.Generic.IEnumerable hostnames, string clientProvidedName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task ~RabbitMQ.Client.ConnectionFactory.CreateConnectionAsync(System.Collections.Generic.IEnumerable hostnames, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task ~RabbitMQ.Client.ConnectionFactory.CreateConnectionAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task -~RabbitMQ.Client.IBasicConsumer.HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.ReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task +~RabbitMQ.Client.IBasicConsumer.HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.IReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task ~RabbitMQ.Client.IChannel.BasicCancelAsync(string consumerTag, bool noWait = false, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task ~RabbitMQ.Client.IChannel.BasicConsumeAsync(string queue, bool autoAck, string consumerTag, bool noLocal, bool exclusive, System.Collections.Generic.IDictionary arguments, RabbitMQ.Client.IBasicConsumer consumer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task ~RabbitMQ.Client.IChannel.BasicGetAsync(string queue, bool autoAck, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask @@ -960,5 +960,5 @@ virtual RabbitMQ.Client.TcpClientAdapter.ReceiveTimeout.set -> void ~static RabbitMQ.Client.RabbitMQActivitySource.ContextExtractor.set -> void ~static RabbitMQ.Client.RabbitMQActivitySource.ContextInjector.get -> System.Action> ~static RabbitMQ.Client.RabbitMQActivitySource.ContextInjector.set -> void -~virtual RabbitMQ.Client.DefaultBasicConsumer.HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.ReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task +~virtual RabbitMQ.Client.DefaultBasicConsumer.HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, RabbitMQ.Client.IReadOnlyBasicProperties properties, System.ReadOnlyMemory body) -> System.Threading.Tasks.Task diff --git a/projects/RabbitMQ.Client/PublicAPI.Unshipped.txt b/projects/RabbitMQ.Client/PublicAPI.Unshipped.txt index 98fa9fc672..4cf06ab2d5 100644 --- a/projects/RabbitMQ.Client/PublicAPI.Unshipped.txt +++ b/projects/RabbitMQ.Client/PublicAPI.Unshipped.txt @@ -1,2 +1,2 @@ -RabbitMQ.Client.BasicProperties.BasicProperties(RabbitMQ.Client.ReadOnlyBasicProperties! input) -> void -RabbitMQ.Client.IConnection.DispatchConsumersAsyncEnabled.get -> bool \ No newline at end of file +RabbitMQ.Client.BasicProperties.BasicProperties(RabbitMQ.Client.IReadOnlyBasicProperties! input) -> void +RabbitMQ.Client.IConnection.DispatchConsumersAsyncEnabled.get -> bool diff --git a/projects/RabbitMQ.Client/client/api/AsyncDefaultBasicConsumer.cs b/projects/RabbitMQ.Client/client/api/AsyncDefaultBasicConsumer.cs index 1a33db0f8f..646e2798c5 100644 --- a/projects/RabbitMQ.Client/client/api/AsyncDefaultBasicConsumer.cs +++ b/projects/RabbitMQ.Client/client/api/AsyncDefaultBasicConsumer.cs @@ -112,7 +112,7 @@ public virtual Task HandleBasicDeliver(string consumerTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { // Nothing to do here. @@ -166,8 +166,9 @@ void IBasicConsumer.HandleBasicConsumeOk(string consumerTag) throw new InvalidOperationException("Should never be called. Enable 'DispatchConsumersAsync'."); } - Task IBasicConsumer.HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, ReadOnlyMemory body) + Task IBasicConsumer.HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, + string exchange, string routingKey, + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { throw new InvalidOperationException("Should never be called. Enable 'DispatchConsumersAsync'."); } diff --git a/projects/RabbitMQ.Client/client/api/BasicGetResult.cs b/projects/RabbitMQ.Client/client/api/BasicGetResult.cs index 3e227f9666..5502f86fe5 100644 --- a/projects/RabbitMQ.Client/client/api/BasicGetResult.cs +++ b/projects/RabbitMQ.Client/client/api/BasicGetResult.cs @@ -50,7 +50,7 @@ public sealed class BasicGetResult /// The Basic-class content header properties for the message. /// The body public BasicGetResult(ulong deliveryTag, bool redelivered, string exchange, string routingKey, - uint messageCount, in ReadOnlyBasicProperties basicProperties, ReadOnlyMemory body) + uint messageCount, IReadOnlyBasicProperties basicProperties, ReadOnlyMemory body) { DeliveryTag = deliveryTag; Redelivered = redelivered; @@ -64,7 +64,7 @@ public BasicGetResult(ulong deliveryTag, bool redelivered, string exchange, stri /// /// Retrieves the Basic-class content header properties for this message. /// - public readonly ReadOnlyBasicProperties BasicProperties; + public readonly IReadOnlyBasicProperties BasicProperties; /// /// Retrieves the body of this message. diff --git a/projects/RabbitMQ.Client/client/api/BasicProperties.cs b/projects/RabbitMQ.Client/client/api/BasicProperties.cs index eb95a18a95..05872f6673 100644 --- a/projects/RabbitMQ.Client/client/api/BasicProperties.cs +++ b/projects/RabbitMQ.Client/client/api/BasicProperties.cs @@ -85,7 +85,7 @@ public BasicProperties() { } - public BasicProperties(ReadOnlyBasicProperties input) + public BasicProperties(IReadOnlyBasicProperties input) { ContentType = input.ContentType; ContentEncoding = input.ContentEncoding; diff --git a/projects/RabbitMQ.Client/client/api/DefaultBasicConsumer.cs b/projects/RabbitMQ.Client/client/api/DefaultBasicConsumer.cs index ef39d104ad..0ef3eca115 100644 --- a/projects/RabbitMQ.Client/client/api/DefaultBasicConsumer.cs +++ b/projects/RabbitMQ.Client/client/api/DefaultBasicConsumer.cs @@ -153,7 +153,7 @@ public virtual Task HandleBasicDeliverAsync(string consumerTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { // Nothing to do here. diff --git a/projects/RabbitMQ.Client/client/api/IAsyncBasicConsumer.cs b/projects/RabbitMQ.Client/client/api/IAsyncBasicConsumer.cs index 1f8bf95b93..d86950b496 100644 --- a/projects/RabbitMQ.Client/client/api/IAsyncBasicConsumer.cs +++ b/projects/RabbitMQ.Client/client/api/IAsyncBasicConsumer.cs @@ -51,7 +51,7 @@ Task HandleBasicDeliver(string consumerTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, + IReadOnlyBasicProperties properties, ReadOnlyMemory body); /// diff --git a/projects/RabbitMQ.Client/client/api/IBasicConsumer.cs b/projects/RabbitMQ.Client/client/api/IBasicConsumer.cs index e137415d4d..6906e6e12f 100644 --- a/projects/RabbitMQ.Client/client/api/IBasicConsumer.cs +++ b/projects/RabbitMQ.Client/client/api/IBasicConsumer.cs @@ -94,7 +94,7 @@ Task HandleBasicDeliverAsync(string consumerTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, + IReadOnlyBasicProperties properties, ReadOnlyMemory body); /// diff --git a/projects/RabbitMQ.Client/client/events/AsyncEventingBasicConsumer.cs b/projects/RabbitMQ.Client/client/events/AsyncEventingBasicConsumer.cs index c0f309d5e7..60a720e5be 100644 --- a/projects/RabbitMQ.Client/client/events/AsyncEventingBasicConsumer.cs +++ b/projects/RabbitMQ.Client/client/events/AsyncEventingBasicConsumer.cs @@ -77,7 +77,7 @@ await base.HandleBasicConsumeOk(consumerTag) ///Fires the Received event. public override Task HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, ReadOnlyMemory body) + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { var deliverEventArgs = new BasicDeliverEventArgs(consumerTag, deliveryTag, redelivered, exchange, routingKey, properties, body); // No need to call base, it's empty. diff --git a/projects/RabbitMQ.Client/client/events/BasicDeliverEventArgs.cs b/projects/RabbitMQ.Client/client/events/BasicDeliverEventArgs.cs index 72cbc3567f..9c350fbc18 100644 --- a/projects/RabbitMQ.Client/client/events/BasicDeliverEventArgs.cs +++ b/projects/RabbitMQ.Client/client/events/BasicDeliverEventArgs.cs @@ -44,7 +44,7 @@ public BasicDeliverEventArgs(string consumerTag, bool redelivered, string exchange, string routingKey, - in ReadOnlyBasicProperties properties, + IReadOnlyBasicProperties properties, ReadOnlyMemory body) : base() { ConsumerTag = consumerTag; @@ -57,7 +57,7 @@ public BasicDeliverEventArgs(string consumerTag, } ///The content header of the message. - public readonly ReadOnlyBasicProperties BasicProperties; + public readonly IReadOnlyBasicProperties BasicProperties; ///The message body. public readonly ReadOnlyMemory Body; diff --git a/projects/RabbitMQ.Client/client/events/BasicReturnEventArgs.cs b/projects/RabbitMQ.Client/client/events/BasicReturnEventArgs.cs index 585b1b6729..9598ea4f02 100644 --- a/projects/RabbitMQ.Client/client/events/BasicReturnEventArgs.cs +++ b/projects/RabbitMQ.Client/client/events/BasicReturnEventArgs.cs @@ -42,7 +42,7 @@ public BasicReturnEventArgs( string replyText, string exchange, string routingKey, - ReadOnlyBasicProperties basicProperties, + IReadOnlyBasicProperties basicProperties, ReadOnlyMemory body) : base() { ReplyCode = replyCode; @@ -54,7 +54,7 @@ public BasicReturnEventArgs( } ///The content header of the message. - public readonly ReadOnlyBasicProperties BasicProperties; + public readonly IReadOnlyBasicProperties BasicProperties; ///The message body. public readonly ReadOnlyMemory Body; diff --git a/projects/RabbitMQ.Client/client/events/EventingBasicConsumer.cs b/projects/RabbitMQ.Client/client/events/EventingBasicConsumer.cs index 6a8d6c8fe6..cfd906db73 100644 --- a/projects/RabbitMQ.Client/client/events/EventingBasicConsumer.cs +++ b/projects/RabbitMQ.Client/client/events/EventingBasicConsumer.cs @@ -87,7 +87,7 @@ public override void HandleBasicConsumeOk(string consumerTag) /// be already released. /// public override async Task HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, ReadOnlyMemory body) + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { BasicDeliverEventArgs eventArgs = new BasicDeliverEventArgs(consumerTag, deliveryTag, redelivered, exchange, routingKey, properties, body); using (Activity activity = RabbitMQActivitySource.SubscriberHasListeners ? RabbitMQActivitySource.Deliver(eventArgs) : default) diff --git a/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/ConsumerDispatcherChannelBase.cs b/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/ConsumerDispatcherChannelBase.cs index 4516cae917..6d94336993 100644 --- a/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/ConsumerDispatcherChannelBase.cs +++ b/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/ConsumerDispatcherChannelBase.cs @@ -69,7 +69,7 @@ public ValueTask HandleBasicConsumeOkAsync(IBasicConsumer consumer, string consu } public ValueTask HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, - string exchange, string routingKey, ReadOnlyBasicProperties basicProperties, RentedMemory body, + string exchange, string routingKey, IReadOnlyBasicProperties basicProperties, RentedMemory body, CancellationToken cancellationToken) { if (false == _disposed && false == _quiesce) @@ -234,7 +234,7 @@ protected override Task InternalShutdownAsync() public readonly bool Redelivered; public readonly string? Exchange; public readonly string? RoutingKey; - public readonly ReadOnlyBasicProperties? BasicProperties; + public readonly IReadOnlyBasicProperties? BasicProperties; public readonly RentedMemory Body; public readonly ShutdownEventArgs? Reason; public readonly WorkType WorkType; @@ -256,7 +256,7 @@ private WorkStruct(IBasicConsumer consumer, ShutdownEventArgs reason) } private WorkStruct(IBasicConsumer consumer, string consumerTag, ulong deliveryTag, bool redelivered, - string exchange, string routingKey, ReadOnlyBasicProperties basicProperties, RentedMemory body) + string exchange, string routingKey, IReadOnlyBasicProperties basicProperties, RentedMemory body) { WorkType = WorkType.Deliver; Consumer = consumer; @@ -291,7 +291,7 @@ public static WorkStruct CreateShutdown(IBasicConsumer consumer, ShutdownEventAr } public static WorkStruct CreateDeliver(IBasicConsumer consumer, string consumerTag, ulong deliveryTag, bool redelivered, - string exchange, string routingKey, ReadOnlyBasicProperties basicProperties, RentedMemory body) + string exchange, string routingKey, IReadOnlyBasicProperties basicProperties, RentedMemory body) { return new WorkStruct(consumer, consumerTag, deliveryTag, redelivered, exchange, routingKey, basicProperties, body); diff --git a/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/FallbackConsumer.cs b/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/FallbackConsumer.cs index 13a671b679..c618df748e 100644 --- a/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/FallbackConsumer.cs +++ b/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/FallbackConsumer.cs @@ -38,7 +38,7 @@ void IBasicConsumer.HandleBasicConsumeOk(string consumerTag) } Task IBasicConsumer.HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, ReadOnlyMemory body) + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { ESLog.Info($"Unhandled {nameof(IBasicConsumer.HandleBasicDeliverAsync)} for tag {consumerTag}"); return Task.CompletedTask; @@ -68,7 +68,7 @@ Task IAsyncBasicConsumer.HandleBasicConsumeOk(string consumerTag) } Task IAsyncBasicConsumer.HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, ReadOnlyMemory body) + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { return ((IBasicConsumer)this).HandleBasicDeliverAsync(consumerTag, deliveryTag, redelivered, exchange, routingKey, properties, body); } diff --git a/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/IConsumerDispatcher.cs b/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/IConsumerDispatcher.cs index 780613bc9b..2b104622e9 100644 --- a/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/IConsumerDispatcher.cs +++ b/projects/RabbitMQ.Client/client/impl/ConsumerDispatching/IConsumerDispatcher.cs @@ -51,7 +51,7 @@ ValueTask HandleBasicDeliverAsync(string consumerTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties basicProperties, + IReadOnlyBasicProperties basicProperties, RentedMemory body, CancellationToken cancellationToken); diff --git a/projects/RabbitMQ.Client/client/impl/EmptyBasicProperty.cs b/projects/RabbitMQ.Client/client/impl/EmptyBasicProperty.cs index 7868556dce..65ef3cb141 100644 --- a/projects/RabbitMQ.Client/client/impl/EmptyBasicProperty.cs +++ b/projects/RabbitMQ.Client/client/impl/EmptyBasicProperty.cs @@ -6,9 +6,9 @@ namespace RabbitMQ.Client.client.impl { #nullable enable - internal readonly struct EmptyBasicProperty : IReadOnlyBasicProperties, IAmqpHeader + internal sealed class EmptyBasicProperty : IReadOnlyBasicProperties, IAmqpHeader { - internal static readonly EmptyBasicProperty Empty; + internal static EmptyBasicProperty Empty => new EmptyBasicProperty(); ushort IAmqpHeader.ProtocolClassId => ClassConstants.Basic; diff --git a/projects/RabbitMQ.Client/client/impl/RabbitMQActivitySource.cs b/projects/RabbitMQ.Client/client/impl/RabbitMQActivitySource.cs index b62690b310..fb65e048f5 100644 --- a/projects/RabbitMQ.Client/client/impl/RabbitMQActivitySource.cs +++ b/projects/RabbitMQ.Client/client/impl/RabbitMQActivitySource.cs @@ -99,7 +99,7 @@ internal static Activity ReceiveEmpty(string queue) } internal static Activity Receive(string routingKey, string exchange, ulong deliveryTag, - in ReadOnlyBasicProperties readOnlyBasicProperties, int bodySize) + IReadOnlyBasicProperties readOnlyBasicProperties, int bodySize) { if (!s_subscriberSource.HasListeners()) { @@ -160,7 +160,7 @@ private static Activity StartLinkedRabbitMQActivity(this ActivitySource source, } private static void PopulateMessagingTags(string operation, string routingKey, string exchange, - ulong deliveryTag, in ReadOnlyBasicProperties readOnlyBasicProperties, int bodySize, Activity activity) + ulong deliveryTag, IReadOnlyBasicProperties readOnlyBasicProperties, int bodySize, Activity activity) { PopulateMessagingTags(operation, routingKey, exchange, deliveryTag, bodySize, activity); diff --git a/projects/Test/Common/TestConnectionRecoveryBase.cs b/projects/Test/Common/TestConnectionRecoveryBase.cs index 40c45df147..527af9b9c5 100644 --- a/projects/Test/Common/TestConnectionRecoveryBase.cs +++ b/projects/Test/Common/TestConnectionRecoveryBase.cs @@ -320,7 +320,7 @@ public override Task HandleBasicDeliverAsync(string consumerTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { try diff --git a/projects/Test/Integration/TestAsyncConsumer.cs b/projects/Test/Integration/TestAsyncConsumer.cs index ef4cd879a1..1febb2cb22 100644 --- a/projects/Test/Integration/TestAsyncConsumer.cs +++ b/projects/Test/Integration/TestAsyncConsumer.cs @@ -778,7 +778,7 @@ public override Task HandleBasicConsumeOk(string consumerTag) } public override async Task HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, - string exchange, string routingKey, ReadOnlyBasicProperties properties, ReadOnlyMemory body) + string exchange, string routingKey, IReadOnlyBasicProperties properties, ReadOnlyMemory body) { _output.WriteLine("[ERROR] {0} HandleBasicDeliver {1}", _logPrefix, consumerTag); await base.HandleBasicDeliver(consumerTag, deliveryTag, redelivered, exchange, routingKey, properties, body); diff --git a/projects/Test/Integration/TestAsyncConsumerExceptions.cs b/projects/Test/Integration/TestAsyncConsumerExceptions.cs index 2327031937..5852ad7f6b 100644 --- a/projects/Test/Integration/TestAsyncConsumerExceptions.cs +++ b/projects/Test/Integration/TestAsyncConsumerExceptions.cs @@ -134,7 +134,7 @@ public override Task HandleBasicDeliver(string consumerTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { return Task.FromException(TestException); diff --git a/projects/Test/Integration/TestConsumerExceptions.cs b/projects/Test/Integration/TestConsumerExceptions.cs index 848ed0d92b..94c9633cdf 100644 --- a/projects/Test/Integration/TestConsumerExceptions.cs +++ b/projects/Test/Integration/TestConsumerExceptions.cs @@ -58,7 +58,7 @@ public override Task HandleBasicDeliverAsync(string consumerTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { throw new Exception("oops"); diff --git a/projects/Test/Integration/TestConsumerOperationDispatch.cs b/projects/Test/Integration/TestConsumerOperationDispatch.cs index b189171c27..a22ffd0e73 100644 --- a/projects/Test/Integration/TestConsumerOperationDispatch.cs +++ b/projects/Test/Integration/TestConsumerOperationDispatch.cs @@ -86,7 +86,7 @@ public CollectingConsumer(IChannel channel) public override Task HandleBasicDeliverAsync(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, - ReadOnlyBasicProperties properties, ReadOnlyMemory body) + IReadOnlyBasicProperties properties, ReadOnlyMemory body) { // we test concurrent dispatch from the moment basic.delivery is returned. // delivery tags have guaranteed ordering and we verify that it is preserved diff --git a/projects/Test/Integration/TestMainLoop.cs b/projects/Test/Integration/TestMainLoop.cs index 42eec3d7df..219da5d61b 100644 --- a/projects/Test/Integration/TestMainLoop.cs +++ b/projects/Test/Integration/TestMainLoop.cs @@ -57,12 +57,12 @@ private sealed class FaultyConsumer : DefaultBasicConsumer public FaultyConsumer(IChannel channel) : base(channel) { } public override Task HandleBasicDeliverAsync(string consumerTag, - ulong deliveryTag, - bool redelivered, - string exchange, - string routingKey, - ReadOnlyBasicProperties properties, - ReadOnlyMemory body) + ulong deliveryTag, + bool redelivered, + string exchange, + string routingKey, + IReadOnlyBasicProperties properties, + ReadOnlyMemory body) { throw new Exception("I am a bad consumer"); }