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> {
|
||||
let mut reg = self.registry.lock().unwrap();
|
||||
if reg.contains_key(&msg.get_id()) {
|
||||
let mut id = Uuid::new_v4();
|
||||
while reg.contains_key(&id) {
|
||||
id = Uuid::new_v4();
|
||||
}
|
||||
msg.reset_id(id);
|
||||
while reg.contains_key(&msg.get_id()) {
|
||||
msg.reset_id();
|
||||
}
|
||||
let (tx, rx) = channel();
|
||||
reg.insert(msg.get_id(), tx);
|
||||
|
@ -70,8 +70,8 @@ impl Message {
|
||||
self.id.clone()
|
||||
}
|
||||
|
||||
pub fn reset_id(&mut self, id: Uuid) {
|
||||
self.id = id;
|
||||
pub fn reset_id(&mut self) {
|
||||
self.id = Uuid::new_v4();
|
||||
}
|
||||
}
|
||||
|
||||
@ -175,8 +175,9 @@ mod messages {
|
||||
#[test]
|
||||
fn reset_msg_id() {
|
||||
let mut msg = Message::new(MsgType::Time);
|
||||
msg.reset_id(Uuid::nil());
|
||||
assert_eq!(msg.get_id(), Uuid::nil());
|
||||
let id = msg.get_id();
|
||||
msg.reset_id();
|
||||
assert_ne!(msg.get_id(), id);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user