Skip to content

Commit 5cde33c

Browse files
committed
rename {Add/Remove}Peer to On{New/Closed}OutboundStream
Makes the name reflect the thing that this lifecycle is attached to. AddPeer/RemovePeer makes it sound as if the lifecycle is attached to the underlying peer connection. That's not the case. The lifecycle here is only attached to the outbound stream.
1 parent d8037f3 commit 5cde33c

20 files changed

Lines changed: 304 additions & 303 deletions

extensions.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ func (pe *PeerExtensions) ExtendRPC(rpc *RPC) *RPC {
7676
// Purposely not trying to make a generic extension interface as there is only
7777
// one real consumer (partial messages). This may change in the future.
7878
type partialMessageInterface interface {
79-
RemovePeer(peer.ID)
79+
OnClosedOutboundStream(peer.ID)
8080
HandleRPC(from peer.ID, rpc *pubsub_pb.PartialMessagesExtension) error
8181
Heartbeat()
8282
EmitGossip(topic string, peers []peer.ID)
@@ -112,7 +112,7 @@ func (es *extensionsState) HandleRPC(rpc *RPC) error {
112112
if _, ok := es.sentExtensions[rpc.from]; ok {
113113
// We just finished both sending and receiving the extensions
114114
// control message.
115-
es.extensionsAddPeer(rpc.from)
115+
es.extensionsOnNewOutboundStream(rpc.from)
116116
}
117117
} else {
118118
// We already have an extension for this peer. If they send us another
@@ -136,44 +136,44 @@ func (es *extensionsState) OnClosedIncomingStream(id peer.ID, _ protocol.ID) {
136136
}
137137
}
138138

139-
func (es *extensionsState) AddPeer(id peer.ID, helloPacket *RPC) *RPC {
139+
func (es *extensionsState) OnNewOutboundStream(id peer.ID, helloPacket *RPC) *RPC {
140140
// Send our extensions as the first message.
141141
helloPacket = es.myExtensions.ExtendRPC(helloPacket)
142142

143143
es.sentExtensions[id] = struct{}{}
144144
if _, ok := es.peerExtensions[id]; ok {
145145
// We've just finished sending and receiving the extensions control
146146
// message.
147-
es.extensionsAddPeer(id)
147+
es.extensionsOnNewOutboundStream(id)
148148
}
149149
return helloPacket
150150
}
151151

152-
func (es *extensionsState) RemovePeer(id peer.ID) {
152+
func (es *extensionsState) OnClosedOutboundStream(id peer.ID) {
153153
_, recvdExt := es.peerExtensions[id]
154154
_, sentExt := es.sentExtensions[id]
155155
if recvdExt && sentExt {
156156
// Add peer was previously called, so we need to call remove peer
157-
es.extensionsRemovePeer(id)
157+
es.extensionsOnClosedOutboundStream(id)
158158
}
159159
delete(es.sentExtensions, id)
160160
if len(es.sentExtensions) == 0 {
161161
es.sentExtensions = make(map[peer.ID]struct{})
162162
}
163163
}
164164

165-
// extensionsAddPeer is only called once we've both sent and received the
165+
// extensionsOnNewOutboundStream is only called once we've both sent and received the
166166
// extensions control message.
167-
func (es *extensionsState) extensionsAddPeer(id peer.ID) {
167+
func (es *extensionsState) extensionsOnNewOutboundStream(id peer.ID) {
168168
if es.myExtensions.TestExtension && es.peerExtensions[id].TestExtension {
169-
es.testExtension.AddPeer(id)
169+
es.testExtension.OnNewOutboundStream(id)
170170
}
171171
}
172172

173-
// extensionsRemovePeer is always called after extensionsAddPeer.
174-
func (es *extensionsState) extensionsRemovePeer(id peer.ID) {
173+
// extensionsOnClosedOutboundStream is always called after extensionsOnNewOutboundStream.
174+
func (es *extensionsState) extensionsOnClosedOutboundStream(id peer.ID) {
175175
if es.myExtensions.PartialMessages && es.peerExtensions[id].PartialMessages {
176-
es.partialMessagesExtension.RemovePeer(id)
176+
es.partialMessagesExtension.OnClosedOutboundStream(id)
177177
}
178178
}
179179

floodsub.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ func (fs *FloodSubRouter) Attach(p *PubSub) {
4444
func (fs *FloodSubRouter) OnNewIncomingStream(peer.ID, protocol.ID) {}
4545
func (fs *FloodSubRouter) OnClosedIncomingStream(peer.ID, protocol.ID) {}
4646

47-
func (fs *FloodSubRouter) AddPeer(p peer.ID, proto protocol.ID, hello *RPC) *RPC {
48-
fs.tracer.AddPeer(p, proto)
47+
func (fs *FloodSubRouter) OnNewOutboundStream(p peer.ID, proto protocol.ID, hello *RPC) *RPC {
48+
fs.tracer.OnNewOutboundStream(p, proto)
4949
return hello
5050
}
5151

52-
func (fs *FloodSubRouter) RemovePeer(p peer.ID) {
53-
fs.tracer.RemovePeer(p)
52+
func (fs *FloodSubRouter) OnClosedOutboundStream(p peer.ID) {
53+
fs.tracer.OnClosedOutboundStream(p)
5454
}
5555

5656
func (fs *FloodSubRouter) EnoughPeers(topic string, suggested int) bool {

gossip_tracer.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -167,17 +167,17 @@ func (gt *gossipTracer) ValidateMessage(msg *Message) {
167167
gt.fulfillPromise(msg)
168168
}
169169

170-
func (gt *gossipTracer) AddPeer(p peer.ID, proto protocol.ID) {}
171-
func (gt *gossipTracer) RemovePeer(p peer.ID) {}
172-
func (gt *gossipTracer) Join(topic string) {}
173-
func (gt *gossipTracer) Leave(topic string) {}
174-
func (gt *gossipTracer) Graft(p peer.ID, topic string) {}
175-
func (gt *gossipTracer) Prune(p peer.ID, topic string) {}
176-
func (gt *gossipTracer) DuplicateMessage(msg *Message) {}
177-
func (gt *gossipTracer) RecvRPC(rpc *RPC) {}
178-
func (gt *gossipTracer) SendRPC(rpc *RPC, p peer.ID) {}
179-
func (gt *gossipTracer) DropRPC(rpc *RPC, p peer.ID) {}
180-
func (gt *gossipTracer) UndeliverableMessage(msg *Message) {}
170+
func (gt *gossipTracer) OnNewOutboundStream(p peer.ID, proto protocol.ID) {}
171+
func (gt *gossipTracer) OnClosedOutboundStream(p peer.ID) {}
172+
func (gt *gossipTracer) Join(topic string) {}
173+
func (gt *gossipTracer) Leave(topic string) {}
174+
func (gt *gossipTracer) Graft(p peer.ID, topic string) {}
175+
func (gt *gossipTracer) Prune(p peer.ID, topic string) {}
176+
func (gt *gossipTracer) DuplicateMessage(msg *Message) {}
177+
func (gt *gossipTracer) RecvRPC(rpc *RPC) {}
178+
func (gt *gossipTracer) SendRPC(rpc *RPC, p peer.ID) {}
179+
func (gt *gossipTracer) DropRPC(rpc *RPC, p peer.ID) {}
180+
func (gt *gossipTracer) UndeliverableMessage(msg *Message) {}
181181

182182
func (gt *gossipTracer) ThrottlePeer(p peer.ID) {
183183
gt.Lock()

gossipsub.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -758,9 +758,9 @@ func (gs *GossipSubRouter) OnClosedIncomingStream(pid peer.ID, proto protocol.ID
758758
}
759759
}
760760

761-
func (gs *GossipSubRouter) AddPeer(p peer.ID, proto protocol.ID, helloPacket *RPC) *RPC {
761+
func (gs *GossipSubRouter) OnNewOutboundStream(p peer.ID, proto protocol.ID, helloPacket *RPC) *RPC {
762762
gs.logger.Debug("PEERUP: Add new peer using protocol", "peer", p, "protocol", proto)
763-
gs.tracer.AddPeer(p, proto)
763+
gs.tracer.OnNewOutboundStream(p, proto)
764764
gs.peers[p] = proto
765765

766766
// track the connection direction
@@ -786,16 +786,16 @@ loop:
786786
}
787787
gs.outbound[p] = outbound
788788
if gs.feature(GossipSubFeatureExtensions, proto) {
789-
helloPacket = gs.extensions.AddPeer(p, helloPacket)
789+
helloPacket = gs.extensions.OnNewOutboundStream(p, helloPacket)
790790
}
791791
return helloPacket
792792
}
793793

794-
func (gs *GossipSubRouter) RemovePeer(p peer.ID) {
794+
func (gs *GossipSubRouter) OnClosedOutboundStream(p peer.ID) {
795795
gs.logger.Debug("PEERDOWN: Remove disconnected peer", "peer", p)
796-
gs.tracer.RemovePeer(p)
796+
gs.tracer.OnClosedOutboundStream(p)
797797
if gs.feature(GossipSubFeatureExtensions, gs.peers[p]) {
798-
gs.extensions.RemovePeer(p)
798+
gs.extensions.OnClosedOutboundStream(p)
799799
}
800800
delete(gs.peers, p)
801801
for _, peers := range gs.mesh {

gossipsub_test.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3102,20 +3102,20 @@ func (m *mockRawTracer) RecvRPC(rpc *RPC) {
31023102
}
31033103
}
31043104

3105-
func (m *mockRawTracer) AddPeer(p peer.ID, proto protocol.ID) {}
3106-
func (m *mockRawTracer) DeliverMessage(msg *Message) {}
3107-
func (m *mockRawTracer) DropRPC(rpc *RPC, p peer.ID) {}
3108-
func (m *mockRawTracer) DuplicateMessage(msg *Message) {}
3109-
func (m *mockRawTracer) Graft(p peer.ID, topic string) {}
3110-
func (m *mockRawTracer) Join(topic string) {}
3111-
func (m *mockRawTracer) Leave(topic string) {}
3112-
func (m *mockRawTracer) Prune(p peer.ID, topic string) {}
3113-
func (m *mockRawTracer) RejectMessage(msg *Message, reason string) {}
3114-
func (m *mockRawTracer) RemovePeer(p peer.ID) {}
3115-
func (m *mockRawTracer) SendRPC(rpc *RPC, p peer.ID) {}
3116-
func (m *mockRawTracer) ThrottlePeer(p peer.ID) {}
3117-
func (m *mockRawTracer) UndeliverableMessage(msg *Message) {}
3118-
func (m *mockRawTracer) ValidateMessage(msg *Message) {}
3105+
func (m *mockRawTracer) OnNewOutboundStream(p peer.ID, proto protocol.ID) {}
3106+
func (m *mockRawTracer) DeliverMessage(msg *Message) {}
3107+
func (m *mockRawTracer) DropRPC(rpc *RPC, p peer.ID) {}
3108+
func (m *mockRawTracer) DuplicateMessage(msg *Message) {}
3109+
func (m *mockRawTracer) Graft(p peer.ID, topic string) {}
3110+
func (m *mockRawTracer) Join(topic string) {}
3111+
func (m *mockRawTracer) Leave(topic string) {}
3112+
func (m *mockRawTracer) Prune(p peer.ID, topic string) {}
3113+
func (m *mockRawTracer) RejectMessage(msg *Message, reason string) {}
3114+
func (m *mockRawTracer) OnClosedOutboundStream(p peer.ID) {}
3115+
func (m *mockRawTracer) SendRPC(rpc *RPC, p peer.ID) {}
3116+
func (m *mockRawTracer) ThrottlePeer(p peer.ID) {}
3117+
func (m *mockRawTracer) UndeliverableMessage(msg *Message) {}
3118+
func (m *mockRawTracer) ValidateMessage(msg *Message) {}
31193119

31203120
var _ RawTracer = &mockRawTracer{}
31213121

partialmessages/partialmsgs.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,13 +241,13 @@ func (e *PartialMessagesExtension[PeerState]) initPeerState(topic string, gState
241241
}
242242
}
243243

244-
func (e *PartialMessagesExtension[PeerState]) RemovePeer(id peer.ID) {
244+
func (e *PartialMessagesExtension[PeerState]) OnClosedOutboundStream(id peer.ID) {
245245
for topic, tState := range e.statePerTopicPerGroup {
246246
for _, gState := range tState {
247247
delete(gState.peerState, id)
248248
}
249249
if ctr, ok := e.peerInitiatedGroupCounter[topic]; ok {
250-
ctr.RemovePeer(id)
250+
ctr.OnClosedOutboundStream(id)
251251
}
252252
}
253253
}
@@ -357,7 +357,7 @@ func (ctr *peerInitiatedGroupCounterState) Dec(id peer.ID) {
357357
}
358358
}
359359

360-
func (ctr *peerInitiatedGroupCounterState) RemovePeer(id peer.ID) {
360+
func (ctr *peerInitiatedGroupCounterState) OnClosedOutboundStream(id peer.ID) {
361361
if n, ok := ctr.perPeer[id]; ok {
362362
ctr.total -= n
363363
delete(ctr.perPeer, id)

partialmessages/partialmsgs_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ func (m *mockNetworkPartialMessages) removePeers() {
7070
if a == b {
7171
continue
7272
}
73-
m.handlers[a].RemovePeer(b)
74-
m.handlers[b].RemovePeer(a)
73+
m.handlers[a].OnClosedOutboundStream(b)
74+
m.handlers[b].OnClosedOutboundStream(a)
7575
}
7676
}
7777

@@ -1168,8 +1168,8 @@ func TestGossipDelivery(t *testing.T) {
11681168
}
11691169

11701170
// Cleanup
1171-
h1Handler.RemovePeer(h2ID)
1172-
h2Handler.RemovePeer(h1ID)
1171+
h1Handler.OnClosedOutboundStream(h2ID)
1172+
h2Handler.OnClosedOutboundStream(h1ID)
11731173
for range 10 {
11741174
h1Handler.Heartbeat()
11751175
h2Handler.Heartbeat()
@@ -1273,10 +1273,10 @@ func TestPeerInitiatedCounter(t *testing.T) {
12731273
}
12741274

12751275
// All peers go away, and the counts should be back to 0
1276-
handler.RemovePeer("1")
1276+
handler.OnClosedOutboundStream("1")
12771277
for id := range 2 {
12781278
otherPeer := fmt.Sprintf("peer%d", id)
1279-
handler.RemovePeer(peer.ID(otherPeer))
1279+
handler.OnClosedOutboundStream(peer.ID(otherPeer))
12801280
}
12811281

12821282
assertCounts(0, map[peer.ID]int{})
@@ -1376,7 +1376,7 @@ func FuzzPeerInitiatedCounter(f *testing.F) {
13761376
delete(expectedPeercounts, peer.ID(otherPeer))
13771377
}
13781378

1379-
handler.RemovePeer(peer.ID(otherPeer))
1379+
handler.OnClosedOutboundStream(peer.ID(otherPeer))
13801380
case 2: // heartbeat until everything is cleared
13811381
script = script[1:]
13821382
for range handler.GroupTTLByHeatbeat + 1 {

0 commit comments

Comments
 (0)