Пример #1
0
        private static void RequestTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e, JetMethod method)
        {
            JetPeer peer = (JetPeer)sender;

            lock (peer.openRequests)
            {
                method.RequestTimer.Stop();
                int id = method.GetRequestId();

                if (peer.openRequests.ContainsKey(id))
                {
                    method = peer.openRequests[id];
                    peer.openRequests.Remove(id);

                    JObject response = new JObject();
                    response["jsonrpc"] = "2.0";
                    response["id"]      = id;
                    JObject error = new JObject();
                    error["code"]     = -32100;
                    error["message"]  = "timeout while waiting for response";
                    response["error"] = error;
                    lock (method)
                    {
                        method.CallResponseCallback(false, response);
                    }
                }
            }
        }
Пример #2
0
        private void HandleResponse(JObject json)
        {
            JToken token = json["id"];

            if (token != null)
            {
                int       id     = token.ToObject <int>();
                JetMethod method = null;
                lock (this.openRequests)
                {
                    if (this.openRequests.ContainsKey(id))
                    {
                        method = this.openRequests[id];
                        this.openRequests.Remove(id);
                        method.RequestTimer.Stop();
                        lock (method)
                        {
                            method.CallResponseCallback(true, json);
                        }
                    }
                }
            }
        }