@@ -23,7 +23,7 @@ public class RabbitClient<TBot> : BasicFunctions<TBot>, IBusClient
2323 private readonly Dictionary < string , SendMessageResponse > _responses = new ( 100 ) ;
2424 private readonly RabbitBusSettings _settings ;
2525 private readonly TimeSpan _timeout ;
26- private EventingBasicConsumer _consumer ;
26+ private EventingBasicConsumer ? _consumer ;
2727
2828 public RabbitClient ( IConnectionFactory rabbitConnectionFactory ,
2929 RabbitBusSettings settings ,
@@ -45,9 +45,13 @@ public async IAsyncEnumerable<SendMessageResponse> SendAndGetResponseSeries(Send
4545
4646 Send ( request , channel , GetRequestQueueName ( ) ) ;
4747
48- if ( ! _responses . TryGetValue ( request . Message . Uid , out var prevValue ) ) yield break ;
48+ if ( request . Message . Uid == null )
49+ yield break ;
50+
51+ if ( ! _responses . TryGetValue ( request . Message . Uid , out var prevValue ) )
52+ yield break ;
4953
50- while ( prevValue . IsPartial == true && prevValue . IsFinal )
54+ while ( prevValue is { IsPartial : true , IsFinal : true } )
5155 if ( _responses . TryGetValue ( request . Message . Uid , out var value ) )
5256 {
5357 if ( value . IsFinal ) yield return value ;
@@ -60,7 +64,7 @@ public async IAsyncEnumerable<SendMessageResponse> SendAndGetResponseSeries(Send
6064 }
6165 }
6266
63- public async Task < SendMessageResponse > SendAndGetResponse ( SendMessageRequest request ,
67+ public async Task < SendMessageResponse ? > SendAndGetResponse ( SendMessageRequest request ,
6468 CancellationToken token )
6569 {
6670 try
@@ -84,7 +88,7 @@ public async Task<SendMessageResponse> SendAndGetResponse(SendMessageRequest req
8488 return Task . FromResult ( _responses . GetValueOrDefault ( request . Message . Uid ) ) ! ;
8589 } ) ;
8690
87- if ( result . FinalHandledResult != default )
91+ if ( result . FinalHandledResult != null )
8892 throw new RabbitBusException ( $ "Error getting a response: { result . FinalException . Message } ",
8993 result . FinalException ) ;
9094
@@ -98,7 +102,7 @@ public async Task<SendMessageResponse> SendAndGetResponse(SendMessageRequest req
98102 }
99103 }
100104
101- public async Task SendResponse ( SendMessageResponse response , CancellationToken token )
105+ public Task SendResponse ( SendMessageResponse response , CancellationToken token )
102106 {
103107 try
104108 {
@@ -113,6 +117,8 @@ public async Task SendResponse(SendMessageResponse response, CancellationToken t
113117
114118 throw ;
115119 }
120+
121+ return Task . CompletedTask ;
116122 }
117123
118124 private void Init ( )
@@ -129,11 +135,11 @@ private void Init()
129135 else
130136 channel . ExchangeDeclarePassive ( exchange ) ;
131137
132- var queueDeclareResult = _settings
133- . QueueSettings
134- . TryCreate ?
135- channel . QueueDeclare ( queue , _settings . QueueSettings . Durable , false ) :
136- channel . QueueDeclarePassive ( queue ) ;
138+ _ = _settings
139+ . QueueSettings
140+ . TryCreate ?
141+ channel . QueueDeclare ( queue , _settings . QueueSettings . Durable , false ) :
142+ channel . QueueDeclarePassive ( queue ) ;
137143
138144
139145 channel . BasicConsume ( queue , true , _consumer ) ;
@@ -151,7 +157,8 @@ private void Init()
151157 response . Message . NotNull ( ) ;
152158 response . Message . Uid . NotNull ( ) ;
153159
154- _responses . Add ( response . Message . Uid , response ) ;
160+ if ( response . Message . Uid != null )
161+ _responses . Add ( response . Message . Uid , response ) ;
155162 }
156163 catch ( Exception ex )
157164 {
0 commit comments