public IList <object> GetPendingRequestParameters(Guid id) { PendingRequest pr = null; _pendingRequests.TryGetValue(id, out pr); return(pr.Parameters); }
public PendingRequest GetPendingRequest(Guid id) { PendingRequest pr = null; _pendingRequests.TryGetValue(id, out pr); return(pr); }
public void SetPendingRequestResult(Guid id, ServerResponse response) { PendingRequest pr = null; if (_pendingRequests.TryGetValue(id, out pr)) { pr.Tcs.SetResult(response); } }
public async Task <ServerResponse> SendRequest(string serverName, string methodName, IList <object> parameters) { var serverEntry = _serverRegistration.GetServerEntry(serverName); if (serverEntry == null) { return(await Task.FromResult((ServerResponse)null)); } var pr = new PendingRequest(serverName, methodName, parameters); pr = _pendingRequests.AddOrUpdate(pr.Id, pr, (key, oldValue) => oldValue); await _context.Connection.Send(serverEntry.ConnectionId, String.Join("|", "G", methodName, HelperPath, pr.Id.ToString())); return(await pr.Tcs.Task); }