Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions pkg/p2p/libp2p/peer.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import (
)

type peerRegistry struct {
underlays map[string]libp2ppeer.ID // map overlay address to underlay peer id
overlayToPeerID map[string]libp2ppeer.ID // map overlay address to underlay peer id
overlays map[libp2ppeer.ID]swarm.Address // map underlay peer id to overlay address
full map[libp2ppeer.ID]bool // map to track whether a node is full or light node (true=full)
bee260Compatibility map[libp2ppeer.ID]bool // map to track bee260 backward compatibility
Expand All @@ -37,7 +37,7 @@ type disconnecter interface {

func newPeerRegistry() *peerRegistry {
return &peerRegistry{
underlays: make(map[string]libp2ppeer.ID),
overlayToPeerID: make(map[string]libp2ppeer.ID),
overlays: make(map[libp2ppeer.ID]swarm.Address),
full: make(map[libp2ppeer.ID]bool),
bee260Compatibility: make(map[libp2ppeer.ID]bool),
Expand Down Expand Up @@ -77,7 +77,7 @@ func (r *peerRegistry) Disconnected(_ network.Network, c network.Conn) {
delete(r.connections, peerID)
overlay := r.overlays[peerID]
delete(r.overlays, peerID)
delete(r.underlays, overlay.ByteString())
delete(r.overlayToPeerID, overlay.ByteString())
for _, cancel := range r.streams[peerID] {
cancel()
}
Expand Down Expand Up @@ -146,12 +146,12 @@ func (r *peerRegistry) addIfNotExists(c network.Conn, overlay swarm.Address, ful
// this is solving a case of multiple underlying libp2p connections for the same peer
r.connections[peerID][c] = struct{}{}

if _, exists := r.underlays[overlay.ByteString()]; exists {
if _, exists := r.overlayToPeerID[overlay.ByteString()]; exists {
return true
}

r.streams[peerID] = make(map[network.Stream]context.CancelFunc)
r.underlays[overlay.ByteString()] = peerID
r.overlayToPeerID[overlay.ByteString()] = peerID
r.overlays[peerID] = overlay
r.full[peerID] = full
return false
Expand All @@ -160,7 +160,7 @@ func (r *peerRegistry) addIfNotExists(c network.Conn, overlay swarm.Address, ful

func (r *peerRegistry) peerID(overlay swarm.Address) (peerID libp2ppeer.ID, found bool) {
r.mu.RLock()
peerID, found = r.underlays[overlay.ByteString()]
peerID, found = r.overlayToPeerID[overlay.ByteString()]
r.mu.RUnlock()
return peerID, found
}
Expand Down Expand Up @@ -223,9 +223,9 @@ func (r *peerRegistry) isConnected(peerID libp2ppeer.ID, remoteAddr ma.Multiaddr

func (r *peerRegistry) remove(overlay swarm.Address) (found, full bool, peerID libp2ppeer.ID) {
r.mu.Lock()
peerID, found = r.underlays[overlay.ByteString()]
peerID, found = r.overlayToPeerID[overlay.ByteString()]
delete(r.overlays, peerID)
delete(r.underlays, overlay.ByteString())
delete(r.overlayToPeerID, overlay.ByteString())
delete(r.connections, peerID)
for _, cancel := range r.streams[peerID] {
cancel()
Expand Down
Loading