mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-19 19:46:50 +00:00
Improve relay picker
This commit is contained in:
parent
cfbcbfd7de
commit
fab8c7400b
@ -42,8 +42,20 @@ impl RelayPicker {
|
|||||||
// Keep score
|
// Keep score
|
||||||
let mut score: Vec<u64> = [0].repeat(self.relays.len());
|
let mut score: Vec<u64> = [0].repeat(self.relays.len());
|
||||||
|
|
||||||
// Count how many keys a relay covers, to use as part of it's score
|
// Count how many needed keys a relay covers, to use as part of it's score
|
||||||
for person_relay in self.person_relays.iter() {
|
for person_relay in self.person_relays.iter() {
|
||||||
|
// Do not increase score if person has no more pubkey_counts
|
||||||
|
if let Some(pkc) = self
|
||||||
|
.pubkey_counts
|
||||||
|
.get(&PublicKeyHex(person_relay.person.clone()))
|
||||||
|
{
|
||||||
|
if *pkc == 0 {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
continue; // not even in there.
|
||||||
|
}
|
||||||
|
|
||||||
let i = match self
|
let i = match self
|
||||||
.relays
|
.relays
|
||||||
.iter()
|
.iter()
|
||||||
@ -52,6 +64,7 @@ impl RelayPicker {
|
|||||||
Some(index) => index,
|
Some(index) => index,
|
||||||
None => continue, // we don't have that relay?
|
None => continue, // we don't have that relay?
|
||||||
};
|
};
|
||||||
|
|
||||||
score[i] += 1;
|
score[i] += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user