Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 6458b28

Browse files
committedOct 8, 2024·
cleanup
1 parent 81a42fe commit 6458b28

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed
 

‎src/transport.rs

+17-4
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,13 @@ pub(crate) trait MessageBus: Send + Sync {
5151
}
5252
}
5353

54+
// For requests without an identifier, shared channels are created
55+
// to route request/response pairs based on message type.
5456
#[derive(Debug)]
5557
struct SharedChannels {
58+
// Maps an inbound reply to channel used to send responses.
5659
senders: HashMap<IncomingMessages, Arc<Sender<ResponseMessage>>>,
60+
// Maps an outbound request to channel used to receive responses.
5761
receivers: HashMap<OutgoingMessages, Arc<Receiver<ResponseMessage>>>,
5862
}
5963

@@ -64,26 +68,35 @@ impl SharedChannels {
6468
receivers: HashMap::new(),
6569
};
6670

71+
// Register request/response pairs.
6772
instance.register(OutgoingMessages::RequestIds, &[IncomingMessages::NextValidId]);
6873

6974
instance
7075
}
7176

72-
fn register(&mut self, out: OutgoingMessages, inbound: &[IncomingMessages]) {
77+
// Maps an outgoing message to incoming message(s)
78+
fn register(&mut self, outbound: OutgoingMessages, inbounds: &[IncomingMessages]) {
7379
let (sender, receiver) = channel::unbounded::<ResponseMessage>();
74-
self.receivers.insert(out, Arc::new(receiver));
80+
81+
self.receivers.insert(outbound, Arc::new(receiver));
7582

7683
let sender = &Arc::new(sender);
7784

78-
for a in inbound {
79-
self.senders.insert(*a, Arc::clone(sender));
85+
for inbound in inbounds {
86+
self.senders.insert(*inbound, Arc::clone(sender));
8087
}
8188
}
8289

8390
pub fn get_receiver(&self, message_id: OutgoingMessages) -> Arc<Receiver<ResponseMessage>> {
8491
let receiver = self.receivers.get(&message_id).expect("unsupport type");
8592
Arc::clone(receiver)
8693
}
94+
95+
pub fn get_sender(&self, message_id: OutgoingMessages) -> Arc<Receiver<ResponseMessage>> {
96+
let receiver = self.receivers.get(&message_id).expect("unsupport type");
97+
Arc::clone(receiver)
98+
}
99+
87100
}
88101

89102
#[derive(Debug)]

0 commit comments

Comments
 (0)
Please sign in to comment.