File tree Expand file tree Collapse file tree 2 files changed +5
-1
lines changed Expand file tree Collapse file tree 2 files changed +5
-1
lines changed Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ use std::sync::Arc;
12
12
use std:: task:: { Context , Poll } ;
13
13
use tokio:: sync:: mpsc:: { channel, Receiver } ;
14
14
use tokio:: task;
15
+ use crate :: { client:: Client } ;
15
16
16
17
/// API for consuming RabbitMQ stream messages
17
18
pub struct SuperStreamConsumer {
@@ -23,6 +24,7 @@ struct SuperStreamConsumerInternal {
23
24
closed : Arc < AtomicBool > ,
24
25
handlers : Vec < ConsumerHandle > ,
25
26
waker : AtomicWaker ,
27
+ client : Client ,
26
28
}
27
29
28
30
/// Builder for [`Consumer`]
@@ -75,6 +77,7 @@ impl SuperStreamConsumerBuilder {
75
77
closed : Arc :: new ( AtomicBool :: new ( false ) ) ,
76
78
handlers,
77
79
waker : AtomicWaker :: new ( ) ,
80
+ client,
78
81
} ;
79
82
80
83
Ok ( SuperStreamConsumer {
@@ -135,6 +138,7 @@ impl SuperStreamConsumerHandle {
135
138
for handle in & self . 0 . handlers {
136
139
handle. internal_close ( ) . await . unwrap ( ) ;
137
140
}
141
+ self . 0 . client . close ( ) . await ?;
138
142
Ok ( ( ) )
139
143
}
140
144
_ => Err ( ConsumerCloseError :: AlreadyClosed ) ,
Original file line number Diff line number Diff line change @@ -117,7 +117,7 @@ impl<T> SuperStreamProducerBuilder<T> {
117
117
118
118
let super_stream_metadata = DefaultSuperStreamMetadata {
119
119
super_stream : super_stream. to_string ( ) ,
120
- client : self . environment . create_client ( ) . await ? ,
120
+ client : client . clone ( ) ,
121
121
partitions : Vec :: new ( ) ,
122
122
routes : Vec :: new ( ) ,
123
123
} ;
You can’t perform that action at this time.
0 commit comments