/// <summary>
        /// Checks the replicas to see if the key has met the durability constraints defined by the caller.
        /// </summary>
        /// <param name="observeParams">The observe parameters.</param>
        /// <param name="operation">The operation observe operation reference; will be cloned if reused.</param>
        /// <returns></returns>
        private bool CheckReplicas(ObserveParams observeParams, Observe operation)
        {
            //Get the candidate replicas, if none are defined that match the specified durability return false.
            var replicas = observeParams.GetReplicas();

            //Check each replica to see if has met the durability constraints specified. A mutation means we failed.
            var notMutated = replicas.All(index => CheckReplica(observeParams, operation, index));

            return(observeParams.IsDurabilityMet() && notMutated);
        }
Beispiel #2
0
        async Task <bool> CheckReplicasAsync(ObserveParams observeParams, ObserveSeqno op)
        {
            var replicas = observeParams.GetReplicas();

            var tasks = new List <Task <bool> >();

            replicas.ForEach(x => tasks.Add(CheckReplicaAsync(observeParams, op, x)));
            await Task.WhenAll(tasks);

            return(observeParams.IsDurabilityMet());
        }
        private async Task <bool> CheckReplicasAsync(ObserveParams observeParams)
        {
            if (observeParams.ReplicateTo == ReplicateTo.Zero)
            {
                return(true);
            }
            var replicas = observeParams.GetReplicas().Select(x => CheckReplicaAsync(observeParams, x));
            await Task.WhenAll(replicas);

            return(observeParams.IsDurabilityMet());
        }
        private async Task <bool> CheckReplicasAsync(ObserveParams observeParams)
        {
            if (observeParams.ReplicateTo == ReplicateTo.Zero)
            {
                return(true);
            }
            var replicas = observeParams.GetReplicas().Select(x => CheckReplicaAsync(observeParams, x)).ToList();

            //Wait for all tasks to finish
            await Task.WhenAll(replicas).ContinueOnAnyContext();

            var notMutated    = replicas.All(subtask => subtask.Result);
            var durabilityMet = observeParams.IsDurabilityMet();

            return(durabilityMet && notMutated);
        }
        async Task<bool> CheckReplicasAsync(ObserveParams observeParams, ObserveSeqno op)
        {
            var replicas = observeParams.GetReplicas();

            var tasks = new List<Task<bool>>();
            replicas.ForEach(x => tasks.Add(CheckReplicaAsync(observeParams, op, x)));
            await Task.WhenAll(tasks);
            return observeParams.IsDurabilityMet();
        }
 /// <summary>
 /// Checks the replicas for durability constraints.
 /// </summary>
 /// <param name="observeParams">The observe parameters.</param>
 /// <param name="op">The op.</param>
 /// <returns></returns>
 bool CheckReplicas(ObserveParams observeParams, ObserveSeqno op)
 {
     var replicas = observeParams.GetReplicas();
     return replicas.Any(replicaId => CheckReplica(observeParams, op, replicaId));
 }
        /// <summary>
        /// Checks the replicas to see if the key has met the durability constraints defined by the caller.
        /// </summary>
        /// <param name="observeParams">The observe parameters.</param>
        /// <param name="operation">The operation observe operation reference; will be cloned if reused.</param>
        /// <returns></returns>
        bool CheckReplicas(ObserveParams observeParams, Observe operation)
        {
            //Get the candidate replicas, if none are defined that match the specified durability return false.
            var replicas = observeParams.GetReplicas();

            //Check each replica to see if has met the durability constraints specified. A mutation means we failed.
            var mutated = replicas.All(index => CheckReplica(observeParams, operation, index));
            return observeParams.IsDurabilityMet() && !mutated;
        }
Beispiel #8
0
        /// <summary>
        /// Checks the replicas for durability constraints.
        /// </summary>
        /// <param name="observeParams">The observe parameters.</param>
        /// <param name="op">The op.</param>
        /// <returns></returns>
        bool CheckReplicas(ObserveParams observeParams, ObserveSeqno op)
        {
            var replicas = observeParams.GetReplicas();

            return(replicas.Any(replicaId => CheckReplica(observeParams, op, replicaId)));
        }
        private async Task<bool> CheckReplicasAsync(ObserveParams observeParams)
        {
            if (observeParams.ReplicateTo == ReplicateTo.Zero) return true;
            var replicas = observeParams.GetReplicas().Select(x=>CheckReplicaAsync(observeParams, x)).ToList();

            //Wait for all tasks to finish
            await Task.WhenAll(replicas).ContinueOnAnyContext();
            var notMutated = replicas.All(subtask => subtask.Result);
            var durabilityMet = observeParams.IsDurabilityMet();

            return durabilityMet && notMutated;
        }
 private async Task<bool> CheckReplicasAsync(ObserveParams observeParams)
 {
     if (observeParams.ReplicateTo == ReplicateTo.Zero) return true;
     var replicas = observeParams.GetReplicas().Select(x=>CheckReplicaAsync(observeParams, x));
     await Task.WhenAll(replicas);
     return observeParams.IsDurabilityMet();
 }