blob: fe5a8aae408527e5cb415c9b97542599c52669b0 [file] [log] [blame]
Gavin McDonald0b75e1a2010-10-28 02:12:01 +00001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20#
21# Licensed to the Apache Software Foundation (ASF) under one
22# or more contributor license agreements. See the NOTICE file
23# distributed with this work for additional information
24# regarding copyright ownership. The ASF licenses this file
25# to you under the Apache License, Version 2.0 (the
26# "License"); you may not use this file except in compliance
27# with the License. You may obtain a copy of the License at
28#
29# http://www.apache.org/licenses/LICENSE-2.0
30#
31# Unless required by applicable law or agreed to in writing,
32# software distributed under the License is distributed on an
33# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
34# KIND, either express or implied. See the License for the
35# specific language governing permissions and limitations
36# under the License.
37#
38
39namespace rb SpecNamespace
40
41struct Hello {
42 1: string greeting = "hello world"
43}
44
45struct Foo {
46 1: i32 simple = 53,
47 2: string words = "words",
48 3: Hello hello = {'greeting' : "hello, world!"},
49 4: list<i32> ints = [1, 2, 2, 3],
50 5: map<i32, map<string, double>> complex,
51 6: set<i16> shorts = [5, 17, 239],
52 7: optional string opt_string
53}
54
55struct BoolStruct {
56 1: bool yesno = 1
57}
58
59struct SimpleList {
60 1: list<bool> bools,
61 2: list<byte> bytes,
62 3: list<i16> i16s,
63 4: list<i32> i32s,
64 5: list<i64> i64s,
65 6: list<double> doubles,
66 7: list<string> strings,
67 8: list<map<i16, i16>> maps,
68 9: list<list<i16>> lists,
69 10: list<set<i16>> sets,
70 11: list<Hello> hellos
71}
72
73exception Xception {
74 1: string message,
75 2: i32 code = 1
76}
77
78service NonblockingService {
79 Hello greeting(1:bool english)
80 bool block()
81 oneway void unblock(1:i32 n)
82 oneway void shutdown()
83 void sleep(1:double seconds)
84}