Skip to content

Commit 5b2baa0

Browse files
gennadylaventmanyacovm
authored andcommitted
[FAB-2777] Alive msg handling
Move alive message store from gossip impl to discovy impl to keep all alive messages handling in one place Change-Id: I98157f1c208375b95db497f8fe8d1fac07ba97f3 Signed-off-by: Gennady Laventman <[email protected]>
1 parent 14055d7 commit 5b2baa0

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

gossip/discovery/discovery_impl.go

+10
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
"strings"
2828

2929
"github.com/hyperledger/fabric/gossip/common"
30+
"github.com/hyperledger/fabric/gossip/gossip/msgstore"
3031
"github.com/hyperledger/fabric/gossip/util"
3132
proto "github.com/hyperledger/fabric/protos/gossip"
3233
"github.com/op/go-logging"
@@ -79,6 +80,8 @@ type gossipDiscoveryImpl struct {
7980
aliveMembership *util.MembershipStore
8081
deadMembership *util.MembershipStore
8182

83+
msgStore msgstore.MessageStore
84+
8285
bootstrapPeers []string
8386

8487
comm CommService
@@ -102,6 +105,7 @@ func NewDiscoveryService(bootstrapPeers []string, self NetworkMember, comm CommS
102105
id2Member: make(map[string]*NetworkMember),
103106
aliveMembership: util.NewMembershipStore(),
104107
deadMembership: util.NewMembershipStore(),
108+
msgStore: msgstore.NewMessageStore(proto.NewGossipMessageComparator(0), func(m interface{}) {}),
105109
crypt: crypt,
106110
comm: comm,
107111
lock: &sync.RWMutex{},
@@ -319,6 +323,12 @@ func (d *gossipDiscoveryImpl) handleMsgFromComm(m *proto.SignedGossipMessage) {
319323
}
320324

321325
if m.IsAliveMsg() {
326+
added := d.msgStore.Add(m)
327+
if !added {
328+
return
329+
}
330+
d.comm.Gossip(m)
331+
322332
d.handleAliveMessage(m)
323333
return
324334
}

gossip/gossip/gossip_impl.go

-11
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ type gossipServiceImpl struct {
7070
chanState *channelState
7171
disSecAdap *discoverySecurityAdapter
7272
mcs api.MessageCryptoService
73-
aliveMsgStore msgstore.MessageStore
7473
stateInfoMsgStore msgstore.MessageStore
7574
}
7675

@@ -110,8 +109,6 @@ func NewGossipService(conf *Config, s *grpc.Server, secAdvisor api.SecurityAdvis
110109
includeIdentityPeriod: time.Now().Add(conf.PublishCertPeriod),
111110
}
112111

113-
g.aliveMsgStore = msgstore.NewMessageStore(proto.NewGossipMessageComparator(0), func(m interface{}) {})
114-
115112
g.chanState = newChannelState(g)
116113
g.emitter = newBatchingEmitter(conf.PropagateIterations,
117114
conf.MaxPropagationBurstSize, conf.MaxPropagationBurstLatency,
@@ -298,14 +295,6 @@ func (g *gossipServiceImpl) handleMessage(m proto.ReceivedMessage) {
298295
return
299296
}
300297

301-
if msg.IsAliveMsg() {
302-
added := g.aliveMsgStore.Add(msg)
303-
if !added {
304-
return
305-
}
306-
g.emitter.Add(msg)
307-
}
308-
309298
if msg.IsChannelRestricted() {
310299
if gc := g.chanState.getGossipChannelByChainID(msg.Channel); gc == nil {
311300
// If we're not in the channel but we should forward to peers of our org

0 commit comments

Comments
 (0)