private BroadcastFailureMessage BuildFailureMessage(BroadcastFailureArguments arguments)
 {
     return(new BroadcastFailureMessage {
         PartitionId = arguments.PartitionId,
         FailedServerId = arguments.FailedServerId
     });
 }
Exemplo n.º 2
0
 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);
                }
            }
        }