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); }
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()); }