summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift
parentInitial commit. (diff)
downloadceph-upstream/16.2.11+ds.tar.xz
ceph-upstream/16.2.11+ds.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift')
-rw-r--r--src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift183
1 files changed, 183 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift b/src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift
new file mode 100644
index 000000000..b42481b32
--- /dev/null
+++ b/src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift
@@ -0,0 +1,183 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+namespace rb SpecNamespace
+
+struct Hello {
+ 1: string greeting = "hello world"
+}
+
+enum SomeEnum {
+ ONE
+ TWO
+}
+
+struct StructWithSomeEnum {
+ 1: SomeEnum some_enum;
+}
+
+union TestUnion {
+ /**
+ * A doc string
+ */
+ 1: string string_field;
+ 2: i32 i32_field;
+ 3: i32 other_i32_field;
+ 4: SomeEnum enum_field;
+ 5: binary binary_field;
+}
+
+struct Foo {
+ 1: i32 simple = 53,
+ 2: string words = "words",
+ 3: Hello hello = {'greeting' : "hello, world!"},
+ 4: list<i32> ints = [1, 2, 2, 3],
+ 5: map<i32, map<string, double>> complex,
+ 6: set<i16> shorts = [5, 17, 239],
+ 7: optional string opt_string
+ 8: bool my_bool
+}
+
+struct Foo2 {
+ 1: binary my_binary
+}
+
+struct BoolStruct {
+ 1: bool yesno = 1
+}
+
+struct SimpleList {
+ 1: list<bool> bools,
+ 2: list<byte> bytes,
+ 3: list<i16> i16s,
+ 4: list<i32> i32s,
+ 5: list<i64> i64s,
+ 6: list<double> doubles,
+ 7: list<string> strings,
+ 8: list<map<i16, i16>> maps,
+ 9: list<list<i16>> lists,
+ 10: list<set<i16>> sets,
+ 11: list<Hello> hellos
+}
+
+exception Xception {
+ 1: string message,
+ 2: i32 code = 1
+}
+
+service NonblockingService {
+ Hello greeting(1:bool english)
+ bool block()
+ oneway void unblock(1:i32 n)
+ oneway void shutdown()
+ void sleep(1:double seconds)
+}
+
+union My_union {
+ 1: bool im_true,
+ 2: byte a_bite,
+ 3: i16 integer16,
+ 4: i32 integer32,
+ 5: i64 integer64,
+ 6: double double_precision,
+ 7: string some_characters,
+ 8: i32 other_i32
+ 9: SomeEnum some_enum;
+ 10: map<SomeEnum, list<SomeEnum>> my_map;
+}
+
+struct Struct_with_union {
+ 1: My_union fun_union
+ 2: i32 integer32
+ 3: string some_characters
+}
+
+struct StructWithEnumMap {
+ 1: map<SomeEnum, list<SomeEnum>> my_map;
+}
+
+# Nested lists
+struct NestedListInList {
+ 1: list<list<byte>> value
+}
+
+struct NestedListInSet {
+ 1: set<list<byte>> value
+}
+
+struct NestedListInMapKey {
+ 1: map<list<byte>, byte> value
+}
+
+struct NestedListInMapValue {
+ 1: map<byte, list<byte>> value
+}
+
+# Nested sets
+struct NestedSetInList {
+ 1: list<set<byte>> value
+}
+
+struct NestedSetInSet {
+ 1: set<set<byte>> value
+}
+
+struct NestedSetInMapKey {
+ 1: map<set<byte>, byte> value
+}
+
+struct NestedSetInMapValue {
+ 1: map<byte, set<byte>> value
+}
+
+# Nested maps
+struct NestedMapInList {
+ 1: list<map<byte, byte>> value
+}
+
+struct NestedMapInSet {
+ 1: set<map<byte, byte>> value
+}
+
+struct NestedMapInMapKey {
+ 2: map<map<byte, byte>, byte> value
+}
+
+struct NestedMapInMapValue {
+ 2: map<byte, map<byte, byte>> value
+}