private BroadcastFailureMessage BuildFailureMessage(BroadcastFailureArguments arguments) { return(new BroadcastFailureMessage { PartitionId = arguments.PartitionId, FailedServerId = arguments.FailedServerId }); }
private void OnBroadcastFailureDeliver(BroadcastFailureArguments arguments) { if (partitionHandlers.TryGetValue( arguments.PartitionId, out PartitionReliableBroadcastHandler handler)) { handler.OnBroadcastFailureDeliver(arguments); } }
public void OnBroadcastFailureDeliver(BroadcastFailureArguments arguments) { lock (receivedFailures) { if (!receivedFailures.ContainsKey(arguments.MessageId)) { receivedFailures.TryAdd( arguments.MessageId, BuildFailureMessage(arguments)); BroadcastFailure( arguments.MessageId, arguments.FailedServerId); } } }