@@ -77,20 +77,19 @@ func (pm *PeerManager) Connected(p peer.ID, initialEntries []*wantlist.Entry) {
77
77
78
78
// Disconnected is called to remove a peer from the pool.
79
79
func (pm * PeerManager ) Disconnected (p peer.ID ) {
80
- pq , ok := pm .get (p )
80
+ pm .peerQueuesLk .Lock ()
81
+ pq , ok := pm .peerQueues [p ]
81
82
82
- if ! ok {
83
- // TODO: log error?
83
+ if ! ok || pq . RefDecrement () {
84
+ pm . peerQueuesLk . Unlock ()
84
85
return
85
86
}
86
87
87
- if pq .RefDecrement () {
88
- return
89
- }
88
+ delete (pm .peerQueues , p )
89
+ pm .peerQueuesLk .Unlock ()
90
90
91
91
pq .Shutdown ()
92
92
93
- pm .remove (p )
94
93
}
95
94
96
95
// SendMessage is called to send a message to all or some peers in the pool;
@@ -108,13 +107,6 @@ func (pm *PeerManager) SendMessage(entries []*bsmsg.Entry, targets []peer.ID, fr
108
107
}
109
108
}
110
109
111
- func (pm * PeerManager ) get (p peer.ID ) (PeerQueue , bool ) {
112
- pm .peerQueuesLk .RLock ()
113
- pq , ok := pm .peerQueues [p ]
114
- pm .peerQueuesLk .RUnlock ()
115
- return pq , ok
116
- }
117
-
118
110
func (pm * PeerManager ) getOrCreate (p peer.ID ) PeerQueue {
119
111
pm .peerQueuesLk .Lock ()
120
112
pq , ok := pm .peerQueues [p ]
@@ -127,12 +119,6 @@ func (pm *PeerManager) getOrCreate(p peer.ID) PeerQueue {
127
119
return pq
128
120
}
129
121
130
- func (pm * PeerManager ) remove (p peer.ID ) {
131
- pm .peerQueuesLk .Lock ()
132
- delete (pm .peerQueues , p )
133
- pm .peerQueuesLk .Unlock ()
134
- }
135
-
136
122
func (pm * PeerManager ) iterate (iterateFn func (peer.ID , PeerQueue )) {
137
123
pm .peerQueuesLk .RLock ()
138
124
for p , pq := range pm .peerQueues {
0 commit comments