mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-07 10:48:51 +00:00
0c90f6f8af
Summary: - Expanded tabs to spaces where spaces were the norm. - Deleted almost all trailing whitespace. - Added newlines to the ends of a few files. - Ran dos2unix on one file or two. Reviewed By: mcslee Test Plan: git diff -b Revert Plan: ok git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665467 13f79535-47bb-0310-9956-ffa450edef68
116 lines
3.5 KiB
OCaml
116 lines
3.5 KiB
OCaml
open Thrift
|
|
open ThriftTest_types
|
|
|
|
let p = Printf.printf;;
|
|
exception Die;;
|
|
let sod = function
|
|
Some v -> v
|
|
| None -> raise Die;;
|
|
|
|
|
|
class test_handler =
|
|
object (self)
|
|
inherit ThriftTest.iface
|
|
method testVoid = p "testVoid()\n"
|
|
method testString x = p "testString(%s)\n" (sod x); (sod x)
|
|
method testByte x = p "testByte(%d)\n" (sod x); (sod x)
|
|
method testI32 x = p "testI32(%d)\n" (sod x); (sod x)
|
|
method testI64 x = p "testI64(%s)\n" (Int64.to_string (sod x)); (sod x)
|
|
method testDouble x = p "testDouble(%f)\n" (sod x); (sod x)
|
|
method testStruct x = p "testStruct(---)\n"; (sod x)
|
|
method testNest x = p "testNest(---)\n"; (sod x)
|
|
method testMap x = p "testMap(---)\n"; (sod x)
|
|
method testSet x = p "testSet(---)\n"; (sod x)
|
|
method testList x = p "testList(---)\n"; (sod x)
|
|
method testEnum x = p "testEnum(---)\n"; (sod x)
|
|
method testTypedef x = p "testTypedef(---)\n"; (sod x)
|
|
method testMapMap x = p "testMapMap(%d)\n" (sod x);
|
|
let mm = Hashtbl.create 3 in
|
|
let pos = Hashtbl.create 7 in
|
|
let neg = Hashtbl.create 7 in
|
|
for i=1 to 4 do
|
|
Hashtbl.add pos i i;
|
|
Hashtbl.add neg (-i) (-i);
|
|
done;
|
|
Hashtbl.add mm 4 pos;
|
|
Hashtbl.add mm (-4) neg;
|
|
mm
|
|
method testInsanity x = p "testInsanity()\n";
|
|
p "testinsanity()\n";
|
|
let hello = new xtruct in
|
|
let goodbye = new xtruct in
|
|
let crazy = new insanity in
|
|
let looney = new insanity in
|
|
let cumap = Hashtbl.create 7 in
|
|
let insane = Hashtbl.create 7 in
|
|
let firstmap = Hashtbl.create 7 in
|
|
let secondmap = Hashtbl.create 7 in
|
|
hello#set_string_thing "Hello2";
|
|
hello#set_byte_thing 2;
|
|
hello#set_i32_thing 2;
|
|
hello#set_i64_thing 2L;
|
|
goodbye#set_string_thing "Goodbye4";
|
|
goodbye#set_byte_thing 4;
|
|
goodbye#set_i32_thing 4;
|
|
goodbye#set_i64_thing 4L;
|
|
Hashtbl.add cumap Numberz.EIGHT 8L;
|
|
Hashtbl.add cumap Numberz.FIVE 5L;
|
|
crazy#set_userMap cumap;
|
|
crazy#set_xtructs [goodbye; hello];
|
|
Hashtbl.add firstmap Numberz.TWO crazy;
|
|
Hashtbl.add firstmap Numberz.THREE crazy;
|
|
Hashtbl.add secondmap Numberz.SIX looney;
|
|
Hashtbl.add insane 1L firstmap;
|
|
Hashtbl.add insane 2L secondmap;
|
|
insane
|
|
method testMulti a0 a1 a2 a3 a4 a5 =
|
|
p "testMulti()\n";
|
|
let hello = new xtruct in
|
|
hello#set_string_thing "Hello2";
|
|
hello#set_byte_thing (sod a0);
|
|
hello#set_i32_thing (sod a1);
|
|
hello#set_i64_thing (sod a2);
|
|
hello
|
|
method testException s =
|
|
p "testException(%S)\n" (sod s);
|
|
if (sod s) = "Xception" then
|
|
let x = new xception in
|
|
x#set_errorCode 1001;
|
|
x#set_message "This is an Xception";
|
|
raise (Xception x)
|
|
else ()
|
|
method testMultiException a0 a1 =
|
|
p "testMultiException(%S, %S)\n" (sod a0) (sod a1);
|
|
if (sod a0) = "Xception" then
|
|
let x = new xception in
|
|
x#set_errorCode 1001;
|
|
x#set_message "This is an Xception";
|
|
raise (Xception x)
|
|
else (if (sod a0) = "Xception2" then
|
|
let x = new xception2 in
|
|
let s = new xtruct in
|
|
x#set_errorCode 2002;
|
|
s#set_string_thing "This as an Xception2";
|
|
x#set_struct_thing s;
|
|
raise (Xception2 x)
|
|
else ());
|
|
let res = new xtruct in
|
|
res#set_string_thing (sod a1);
|
|
res
|
|
end;;
|
|
|
|
let h = new test_handler in
|
|
let proc = new ThriftTest.processor h in
|
|
let port = 9090 in
|
|
let pf = new TBinaryProtocol.factory in
|
|
let server = new TThreadedServer.t
|
|
proc
|
|
(new TServerSocket.t port)
|
|
(new Transport.factory)
|
|
pf
|
|
pf
|
|
in
|
|
server#serve
|
|
|
|
|