private void TestFoobar() { Util.Log("client request foobar"); SpObject foobar_request = new SpObject(); foobar_request.Insert("what", "foo"); SpStream req = client.Request("foobar", foobar_request, 1); Util.Assert(req.Length == 11); Util.Log("request foobar size = " + req.Length); req.Position = 0; SpRpcResult dispatch_result = server.Dispatch(req); Util.Assert(dispatch_result.Arg["what"].AsString().Equals("foo")); Util.DumpObject(dispatch_result.Arg); Util.Log("server response"); SpObject foobar_response = new SpObject(); foobar_response.Insert("ok", true); SpStream resp = server.Response(dispatch_result.Session, foobar_response); Util.Assert(resp.Length == 7); Util.Log("response package size = " + resp.Length); Util.Log("client dispatch"); resp.Position = 0; dispatch_result = client.Dispatch(resp); Util.Assert(dispatch_result.Arg["ok"].AsBoolean() == true); Util.DumpObject(dispatch_result.Arg); }