Exemple #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);
                    }
                }
            }
        }
        public bool ConnectTest(Behaviour behaviour)
        {
            var connection = new TestJetConnection(behaviour);
            var peer       = new JetPeer(connection);

            peer.Connect(this.OnConnect, 1);
            Assert.AreEqual(this.connectCallbackCalled, true);
            return(this.connectCompleted);
        }
Exemple #3
0
        public void Setup()
        {
            this.setCallbackCalled = false;
            this.setSucceeded      = false;

            var connection = new TestSetConnection();

            peer = new JetPeer(connection);
            peer.Connect(this.OnConnect, 1);
        }
        public void SetTestOnOwnState()
        {
            peer = new JetPeer(new TestSetCallbackConnection());
            JValue  stateValue = new JValue(12);
            JObject message    = peer.AddState(TestSetCallbackConnection.successPath, stateValue, this.OnSet, this.AddResponseCallback, 3000);

            Assert.Throws <ArgumentException>(
                delegate
            {
                JValue newValue = new JValue(13);
                peer.Set(TestSetCallbackConnection.successPath, newValue, this.AddResponseCallback, 3000, 0.0);
            },
                "no exception thrown when setting own state");
        }
        public void RemoveStatesWhenDisconnect()
        {
            const string state = "theState";

            var connection = new TestJetConnection(Behaviour.ConnectionSuccess);
            var peer       = new JetPeer(connection);

            peer.Connect(this.OnConnect, 1);
            JValue stateValue = new JValue(12);

            peer.AddState(state, stateValue, this.OnSet, this.OnResponse, 3000);
            peer.Disconnect();
            Assert.AreEqual(0, peer.NumberOfRegisteredStateCallbacks());
            string removeJson = connection.messages[1];
            JToken json       = JToken.Parse(removeJson);
            JToken method     = json["method"];

            Assert.AreEqual("remove", method.ToString());
            JToken parameters = json["params"];
            JToken path       = parameters["path"];

            Assert.AreEqual(state, path.ToString());
        }