public void OnEndpointAccessCompletion(Uri endpointUri, EndpointAccessResult accessResult) { InvokeInnerPolicyForEndpointAccessCompletion(endpointUri, accessResult); var entry = _endpoints[endpointUri]; UpdateEndpointEntryOnAccessCompletion(entry, accessResult); }
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; } }
public void OnEndpointAccessCompletion(Uri endpointUri, EndpointAccessResult accessResult) { }