internal void AddRequet(long requestId, ICancellableRequest command) { if (requestId > 0) { try { _requests.TryAdd(requestId, command); } catch { } } }
public ICancellableRequest RemoveRequest(long requestId) { ICancellableRequest command = null; if (requestId > 0) { try { _requests.TryRemove(requestId, out command); } catch { } } return(command); }
public void CancelTimedoutRequests() { foreach (KeyValuePair <long, ICancellableRequest> ledgerValue in _requests) { ICancellableRequest command = ledgerValue.Value; long requestID = ledgerValue.Key; if (!command.IsCancelled) { if (command.HasTimedout) { if (command.Cancel()) { if (_logger != null) { _logger.CriticalInfo("Cache.CancelExecution()", "Command : " + command.ToString() + " Request ID : " + requestID + " has been cancelled for : " + _requestSource); } } } } } }
public void RegisterClientrequestsInLedger(string requestSource, ILogger logger, long requestId, ICancellableRequest command) { if (requestSource != null && !string.IsNullOrEmpty(requestSource)) { RequestLedger ledger = null; ledger = new RequestLedger(requestSource, logger); ledger = _clientDictionary.GetOrAdd(requestSource, ledger); ledger.AddRequet(requestId, command); } }