Browse Source

p2p: addrBook.Save() on DialPeersAsync

pull/1129/head
Ethan Buchman 7 years ago
parent
commit
8f3bd3f209
2 changed files with 13 additions and 0 deletions
  1. +9
    -0
      p2p/pex/addrbook.go
  2. +4
    -0
      p2p/switch.go

+ 9
- 0
p2p/pex/addrbook.go View File

@ -27,6 +27,7 @@ const (
// AddrBook is an address book used for tracking peers
// so we can gossip about them to others and select
// peers to dial.
// TODO: break this up?
type AddrBook interface {
cmn.Service
@ -53,6 +54,9 @@ type AddrBook interface {
// TODO: remove
ListOfKnownAddresses() []*knownAddress
// Persist to disk
Save()
}
var _ AddrBook = (*addrBook)(nil)
@ -314,6 +318,11 @@ func (a *addrBook) size() int {
//----------------------------------------------------------
// Save persists the address book to disk.
func (a *addrBook) Save() {
a.saveToFile(a.filePath) // thread safe
}
func (a *addrBook) saveRoutine() {
defer a.wg.Done()


+ 4
- 0
p2p/switch.go View File

@ -35,6 +35,7 @@ const (
type AddrBook interface {
AddAddress(addr *NetAddress, src *NetAddress) error
Save()
}
//-----------------------------------------------------------------------------
@ -337,6 +338,9 @@ func (sw *Switch) DialPeersAsync(addrBook AddrBook, peers []string, persistent b
// TODO: move this out of here ?
addrBook.AddAddress(netAddr, ourAddr)
}
// Persist some peers to disk right away.
// NOTE: integration tests depend on this
addrBook.Save()
}
// permute the list, dial them in random order.


Loading…
Cancel
Save