mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-19 03:33:53 +00:00
Improve relay picker
This commit is contained in:
parent
cfbcbfd7de
commit
fab8c7400b
@ -42,8 +42,20 @@ impl RelayPicker {
|
||||
// Keep score
|
||||
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() {
|
||||
// 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
|
||||
.relays
|
||||
.iter()
|
||||
@ -52,6 +64,7 @@ impl RelayPicker {
|
||||
Some(index) => index,
|
||||
None => continue, // we don't have that relay?
|
||||
};
|
||||
|
||||
score[i] += 1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user