public void OnEndpointAccessCompletion(Uri endpointUri, EndpointAccessResult accessResult)
        {
            InvokeInnerPolicyForEndpointAccessCompletion(endpointUri, accessResult);

            var entry = _endpoints[endpointUri];
            UpdateEndpointEntryOnAccessCompletion(entry, accessResult);
        }
예제 #2
0
        public void OnEndpointAccessCompletion(Uri endpointUri, EndpointAccessResult accessResult)
        {
            InvokeInnerPolicyForEndpointAccessCompletion(endpointUri, accessResult);

            var entry = _endpoints[endpointUri];

            UpdateEndpointEntryOnAccessCompletion(entry, accessResult);
        }
예제 #3
0
 internal void InvokeInnerPolicyForEndpointAccessCompletion(Uri endpointUri, EndpointAccessResult accessResult)
 {
     if (_innerPolicy != null)
     {
         lock (_innerPolicyLockObj)
         {
             _innerPolicy.OnEndpointAccessCompletion(endpointUri, accessResult);
         }
     }
 }
        internal void UpdateEndpointEntryOnAccessCompletion(EndpointInformation entry,
                                                            EndpointAccessResult accessResult)
        {
            var now = DateTime.UtcNow;

            lock (entry.lockObj)
            {
                if (accessResult == EndpointAccessResult.Failure)
                {
                    entry.State = EndpointState.Failed;
                    entry.LastFailureTimestamp = now;
                }
                else if (entry.State == EndpointState.Failed)
                {
                    RefreshFailedEndpointEntry(entry, now);
                }

                entry.LastUpdatedTimestamp = now;
            }
        }
예제 #5
0
 public void OnEndpointAccessCompletion(Uri endpointUri, EndpointAccessResult accessResult)
 {
 }
 public void OnEndpointAccessCompletion(Uri endpointUri, EndpointAccessResult accessResult)
 {
 }
 internal void UpdateEndpointEntryOnAccessCompletion(EndpointInformation entry, EndpointAccessResult accessResult)
 {
     var now = DateTime.UtcNow;
     lock (entry.lockObj)
     {
         if (accessResult == EndpointAccessResult.Failure)
         {
             entry.State = EndpointState.Failed;
             entry.LastFailureTimestamp = now;
         }
         else if (entry.State == EndpointState.Failed)
         {
             RefreshFailedEndpointEntry(entry, now);
         }
         entry.LastUpdatedTimestamp = now;
     }
 }
 internal void InvokeInnerPolicyForEndpointAccessCompletion(Uri endpointUri, EndpointAccessResult accessResult)
 {
     if (_innerPolicy != null)
     {
         lock (_innerPolicyLockObj)
         {
             _innerPolicy.OnEndpointAccessCompletion(endpointUri, accessResult);
         }
     }
 }