Skip to content

Commit

Permalink
Add LastSeenBook to PeerStore.
Browse files Browse the repository at this point in the history
  • Loading branch information
cheatfate committed Nov 26, 2024
1 parent a70d65d commit a688510
Showing 1 changed file with 6 additions and 11 deletions.
17 changes: 6 additions & 11 deletions libp2p/peerstore.nim
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ type
KeyBook* {.public.} = ref object of PeerBook[PublicKey]

AgentBook* {.public.} = ref object of PeerBook[string]
LastSeenBook* {.public.} = ref object of PeerBook[Opt[MultiAddress]]
ProtoVersionBook* {.public.} = ref object of PeerBook[string]
SPRBook* {.public.} = ref object of PeerBook[Envelope]

Expand Down Expand Up @@ -149,18 +150,12 @@ proc del*(peerStore: PeerStore, peerId: PeerId) {.public.} =
proc updatePeerInfo*(
peerStore: PeerStore,
info: IdentifyInfo,
observedAddr: Opt[MultiAddress] = Opt.none(MultiAddress)
observedAddr: Opt[MultiAddress] = Opt.none(MultiAddress),
) =
let
observed =
if observedAddr.isNone():
default(seq[MultiAddress])
else:
@[observedAddr.get()]
addresses = info.addrs & observed

if len(addresses) > 0:
peerStore[AddressBook][info.peerId] = addresses
if len(info.addrs) > 0:
peerStore[AddressBook][info.peerId] = info.addrs

peerStore[LastSeenBook][info.peerId] = observedAddr

info.pubkey.withValue(pubkey):
peerStore[KeyBook][info.peerId] = pubkey
Expand Down

0 comments on commit a688510

Please sign in to comment.