Refactored message id reset.

This commit is contained in:
Jeff Baskin 2025-04-22 08:00:45 -04:00
parent a61474f38a
commit 0ab0b59f4c
2 changed files with 7 additions and 10 deletions

View File

@ -27,12 +27,8 @@ impl ClientChannel {
pub fn send(&self, mut msg: Message) -> Receiver<Message> { pub fn send(&self, mut msg: Message) -> Receiver<Message> {
let mut reg = self.registry.lock().unwrap(); let mut reg = self.registry.lock().unwrap();
if reg.contains_key(&msg.get_id()) { while reg.contains_key(&msg.get_id()) {
let mut id = Uuid::new_v4(); msg.reset_id();
while reg.contains_key(&id) {
id = Uuid::new_v4();
}
msg.reset_id(id);
} }
let (tx, rx) = channel(); let (tx, rx) = channel();
reg.insert(msg.get_id(), tx); reg.insert(msg.get_id(), tx);

View File

@ -70,8 +70,8 @@ impl Message {
self.id.clone() self.id.clone()
} }
pub fn reset_id(&mut self, id: Uuid) { pub fn reset_id(&mut self) {
self.id = id; self.id = Uuid::new_v4();
} }
} }
@ -175,8 +175,9 @@ mod messages {
#[test] #[test]
fn reset_msg_id() { fn reset_msg_id() {
let mut msg = Message::new(MsgType::Time); let mut msg = Message::new(MsgType::Time);
msg.reset_id(Uuid::nil()); let id = msg.get_id();
assert_eq!(msg.get_id(), Uuid::nil()); msg.reset_id();
assert_ne!(msg.get_id(), id);
} }
} }