Exemplo n.º 1
0
        public Task DeleteActivations(List <GrainAddress> addresses, DeactivationReasonCode reasonCode, string reasonText)
        {
            var timeoutTokenSource = new CancellationTokenSource(this.collectionOptions.Value.DeactivationTimeout);
            var tasks = new List <Task>(addresses.Count);
            var deactivationReason = new DeactivationReason(reasonCode, reasonText);

            foreach (var activationAddress in addresses)
            {
                if (TryGetGrainContext(activationAddress.GrainId, out var grainContext))
                {
                    tasks.Add(grainContext.DeactivateAsync(deactivationReason, timeoutTokenSource.Token));
                }
            }

            return(Task.WhenAll(tasks));
        }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DeactivationReason"/> struct.
 /// </summary>
 /// <param name="code">
 /// The code identifying the deactivation reason.
 /// </param>
 /// <param name="exception">
 /// The exception which resulted in deactivation.
 /// </param>
 /// <param name="text">
 /// A descriptive reason for the deactivation.
 /// </param>
 public DeactivationReason(DeactivationReasonCode code, Exception exception, string text)
 {
     ReasonCode  = code;
     Description = text;
     Exception   = exception;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DeactivationReason"/> struct.
 /// </summary>
 /// <param name="code">
 /// The code identifying the deactivation reason.
 /// </param>
 /// <param name="text">
 /// A descriptive reason for the deactivation.
 /// </param>
 public DeactivationReason(DeactivationReasonCode code, string text)
 {
     ReasonCode  = code;
     Description = text;
     Exception   = null;
 }