@@ -20,6 +20,8 @@ public class GossipActor : IActor
2020#pragma warning restore CS0618 // Type or member is obsolete
2121 private readonly TimeSpan _gossipRequestTimeout ;
2222 private readonly IGossip _internal ;
23+ private readonly IMemberList _memberList ;
24+ private readonly IBlockList _blockList ;
2325 private readonly IGossipTransport _transport ;
2426
2527 // lookup from state key -> consensus checks
@@ -31,12 +33,16 @@ public GossipActor(
3133 int gossipFanout ,
3234 int gossipMaxSend ,
3335 IGossip gossip ,
34- IGossipTransport transport
36+ IGossipTransport transport ,
37+ IMemberList memberList ,
38+ IBlockList blockList
3539 )
3640 {
3741 _gossipRequestTimeout = gossipRequestTimeout ;
3842 _internal = gossip ;
3943 _transport = transport ;
44+ _memberList = memberList ;
45+ _blockList = blockList ;
4046 }
4147
4248 public async Task ReceiveAsync ( IContext context )
@@ -121,7 +127,7 @@ private Task OnGossipRequest(IContext context, GossipRequest gossipRequest)
121127 var logger = context . Logger ( ) ? . BeginScope < GossipActor > ( ) ;
122128 logger ? . LogDebug ( "Gossip Request {Sender}" , context . Sender ! ) ;
123129
124- if ( context . Remote ( ) . BlockList . BlockedMembers . Contains ( gossipRequest . MemberId ) )
130+ if ( _blockList . BlockedMembers . Contains ( gossipRequest . MemberId ) )
125131 {
126132 Logger . LogInformation ( "Blocked gossip request from {MemberId}" , gossipRequest . MemberId ) ;
127133 context . Respond ( new GossipResponse ( )
@@ -130,8 +136,7 @@ private Task OnGossipRequest(IContext context, GossipRequest gossipRequest)
130136 } ) ;
131137 return Task . CompletedTask ;
132138 }
133-
134- if ( ! context . Cluster ( ) . MemberList . ContainsMemberId ( gossipRequest . MemberId ) )
139+ if ( ! _memberList . ContainsMemberId ( gossipRequest . MemberId ) )
135140 {
136141 Logger . LogInformation ( "Ignoring gossip request from {MemberId} as it is not a member" , gossipRequest . MemberId ) ;
137142 context . Respond ( new GossipResponse ( )
@@ -140,18 +145,13 @@ private Task OnGossipRequest(IContext context, GossipRequest gossipRequest)
140145 } ) ;
141146 return Task . CompletedTask ;
142147 }
143-
144-
145-
146148
147149 if ( Logger . IsEnabled ( LogLevel . Debug ) )
148150 {
149151 Logger . LogDebug ( "Gossip Request {Sender}" , context . Sender ! ) ;
150152 }
151153
152154 ReceiveState ( context , gossipRequest . State ) ;
153-
154-
155155 if ( context . Cluster ( ) . Config . GossipDebugLogging )
156156 {
157157 Logger . LogInformation ( "Responding to GossipRequest {Request} to {MemberId}" , gossipRequest , gossipRequest . MemberId ) ;
@@ -216,6 +216,6 @@ private void SendGossipForMember(IContext context, Member targetMember,
216216 Logger . LogInformation ( "Sending GossipRequest {Request} to {MemberId}" , gossipRequest , targetMember . Id ) ;
217217 }
218218
219- GossipSender . Send ( context , context . Cluster ( ) , targetMember , memberStateDelta , gossipRequest , _gossipRequestTimeout , _transport ) ;
219+ GossipSender . Send ( context , _memberList , targetMember , memberStateDelta , gossipRequest , _gossipRequestTimeout , _transport ) ;
220220 }
221221}
0 commit comments