Merge branch 'veilidchat-work' into 'main'
outbound relay cleanup See merge request veilid/veilid!89
This commit is contained in:
commit
2fc979235e
1
Cargo.lock
generated
1
Cargo.lock
generated
@ -5872,7 +5872,6 @@ dependencies = [
|
||||
"oslog",
|
||||
"paranoid-android",
|
||||
"parking_lot 0.11.2",
|
||||
"parking_lot 0.12.1",
|
||||
"rand 0.7.3",
|
||||
"range-set-blaze",
|
||||
"rust-fsm",
|
||||
|
2
external/keyring-manager
vendored
2
external/keyring-manager
vendored
@ -1 +1 @@
|
||||
Subproject commit b127b2d3c653fea163a776dd58b3798f28aeeee3
|
||||
Subproject commit 290b15474663f38b351ac514f457948b05b782bb
|
2
external/keyvaluedb
vendored
2
external/keyvaluedb
vendored
@ -1 +1 @@
|
||||
Subproject commit 0de595047a3c8a22b9550a3ab55105d79e7b030b
|
||||
Subproject commit 1430135c7e3b1d0176c0b45f64e8c0a9d85d44d0
|
@ -404,7 +404,7 @@ impl RoutingDomainDetail for PublicInternetRoutingDomainDetail {
|
||||
else if let Some(node_b_relay) = peer_b.signed_node_info().relay_info() {
|
||||
|
||||
// Note that relay_peer_info could be node_a, in which case a connection already exists
|
||||
// and we only get here if the connection had dropped, in which case node_a is unreachable until
|
||||
// and we only get here if the connection had dropped, in which case node_b is unreachable until
|
||||
// it gets a new relay connection up
|
||||
if peer_b.signed_node_info().relay_ids().contains_any(peer_a.node_ids()) {
|
||||
return ContactMethod::Existing;
|
||||
@ -430,10 +430,12 @@ impl RoutingDomainDetail for PublicInternetRoutingDomainDetail {
|
||||
}
|
||||
|
||||
// If node A can't reach the node by other means, it may need to use its own relay
|
||||
if let Some(node_a_relay_id) = peer_a.signed_node_info().relay_ids().get(best_ck) {
|
||||
// Ensure it's not our relay we're trying to reach
|
||||
if node_a_relay_id != node_b_id {
|
||||
return ContactMethod::OutboundRelay(node_a_relay_id);
|
||||
if peer_a.signed_node_info().node_info().network_class().outbound_wants_relay() {
|
||||
if let Some(node_a_relay_id) = peer_a.signed_node_info().relay_ids().get(best_ck) {
|
||||
// Ensure it's not our relay we're trying to reach
|
||||
if node_a_relay_id != node_b_id {
|
||||
return ContactMethod::OutboundRelay(node_a_relay_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user