Exemplo n.º 1
0
        public IList <object> GetPendingRequestParameters(Guid id)
        {
            PendingRequest pr = null;

            _pendingRequests.TryGetValue(id, out pr);
            return(pr.Parameters);
        }
Exemplo n.º 2
0
        public PendingRequest GetPendingRequest(Guid id)
        {
            PendingRequest pr = null;

            _pendingRequests.TryGetValue(id, out pr);
            return(pr);
        }
Exemplo n.º 3
0
        public void SetPendingRequestResult(Guid id, ServerResponse response)
        {
            PendingRequest pr = null;

            if (_pendingRequests.TryGetValue(id, out pr))
            {
                pr.Tcs.SetResult(response);
            }
        }
Exemplo n.º 4
0
        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);
        }