allow reconecting with same peer ID (in case cnx wasnt closed properly)

master
Niko PLP 1 month ago
parent 978d9c25d4
commit 993aa5622c
  1. 9
      ng-net/src/broker.rs
  2. 2
      ng-repo/src/branch.rs

@ -680,7 +680,7 @@ impl Broker {
.or_insert(HashSet::with_capacity(1));
if !peers_set.insert(peer) {
return Err(ProtocolError::PeerAlreadyConnected);
//return Err(ProtocolError::PeerAlreadyConnected);
}
Ok(())
}
@ -762,13 +762,14 @@ impl Broker {
) -> Result<(), ProtocolError> {
log_debug!("ATTACH PEER_ID {:?}", remote_peer_id);
let already = self.peers.get(&(None, Some(remote_peer_id)));
let already = self.peers.remove(&(None, Some(remote_peer_id)));
if already.is_some() {
match already.unwrap().connected {
PeerConnection::NONE => {}
_ => {
return Err(ProtocolError::PeerAlreadyConnected);
PeerConnection::Client(mut cnx) => {
cnx.close().await;
}
_ => {}
};
}

@ -103,7 +103,7 @@ impl DagNode {
let mut res = vec![*id];
already_in.insert(*id);
for child in this.future.iter() {
log_debug!("child of {} : {}", id, child);
// log_debug!("child of {} : {}", id, child);
res.append(&mut Self::collapse(child, dag, dag_ids, already_in));
}
res

Loading…
Cancel
Save