Add bridge update
This commit is contained in:
parent
6681289105
commit
93326e24bf
|
@ -315,23 +315,36 @@ impl BridgeAuth {
|
|||
// which will include the IP and Port. Then we can replace the original bridge with the updated bridge or else
|
||||
// or else just replace the info field.
|
||||
pub fn bridge_update(&mut self, bridge: &BridgeLine) -> bool {
|
||||
|
||||
let mut res: bool = false; //default False to assume that update failed
|
||||
//Needs to be updated since bridge will only match on some fields.
|
||||
let positions = self.bridge_table.reachable.get_key_value(bridge);
|
||||
if let Some(v) = positions {
|
||||
println!("Bridge v: {:?} has same IP and Port as bridge {:?}.", v.0, bridge);
|
||||
let mut w = *v.0;
|
||||
w.info = bridge.info;
|
||||
if v.0 == bridge {
|
||||
println!("Yay");
|
||||
println!("Now bridge v: {:?} has all fields the same as bridge {:?}.", v.0, bridge);
|
||||
}else {
|
||||
println!("Boo");
|
||||
}
|
||||
res = true;
|
||||
|
||||
//Needs to be updated since bridge will only match on some fields.
|
||||
let reachable_bridges = self.bridge_table.reachable.clone();
|
||||
for reachable_bridge in reachable_bridges {
|
||||
if (reachable_bridge.0.addr == bridge.addr && reachable_bridge.0.port == bridge.port) {
|
||||
println!(
|
||||
"Bridge from table: {:?} has same IP and Port as bridge {:?}!",
|
||||
reachable_bridge.0, bridge
|
||||
);
|
||||
// Search actual table for bridge
|
||||
let updating_bridge = self
|
||||
.bridge_table
|
||||
.reachable
|
||||
.get_key_value(&reachable_bridge.0);
|
||||
if let Some(v) = updating_bridge {
|
||||
let mut w = *v.0;
|
||||
w.info = bridge.info;
|
||||
println!(
|
||||
"Now bridge v: {:?} matches the passed bridge {:?}?",
|
||||
v.0, bridge
|
||||
);
|
||||
if v.0 == bridge {
|
||||
println!("Yay");
|
||||
res = true;
|
||||
} else {
|
||||
println!("Boo");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
res
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue