Refactored message id reset.
This commit is contained in:
parent
a61474f38a
commit
0ab0b59f4c
@ -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);
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user