upfluence-thrift 2.3.0 → 2.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/benchmark/gen-rb/benchmark_constants.rb +11 -0
- data/benchmark/gen-rb/benchmark_service.rb +106 -0
- data/benchmark/gen-rb/benchmark_types.rb +10 -0
- data/ext/extconf.rb +1 -4
- data/lib/thrift/protocol/json_protocol.rb +65 -1
- data/spec/gen-rb/base/base_service.rb +106 -0
- data/spec/gen-rb/base/base_service_constants.rb +11 -0
- data/spec/gen-rb/base/base_service_types.rb +33 -0
- data/spec/gen-rb/extended/extended_service.rb +103 -0
- data/spec/gen-rb/extended/extended_service_constants.rb +11 -0
- data/spec/gen-rb/extended/extended_service_types.rb +12 -0
- data/spec/gen-rb/flat/namespaced_nonblocking_service.rb +343 -0
- data/spec/gen-rb/flat/referenced_constants.rb +11 -0
- data/spec/gen-rb/flat/referenced_types.rb +17 -0
- data/spec/gen-rb/flat/thrift_namespaced_spec_constants.rb +11 -0
- data/spec/gen-rb/flat/thrift_namespaced_spec_types.rb +35 -0
- data/spec/gen-rb/namespaced_spec_namespace/namespaced_nonblocking_service.rb +343 -0
- data/spec/gen-rb/namespaced_spec_namespace/thrift_namespaced_spec_constants.rb +11 -0
- data/spec/gen-rb/namespaced_spec_namespace/thrift_namespaced_spec_types.rb +35 -0
- data/spec/gen-rb/nonblocking_service.rb +343 -0
- data/spec/gen-rb/other_namespace/referenced_constants.rb +11 -0
- data/spec/gen-rb/other_namespace/referenced_types.rb +17 -0
- data/spec/gen-rb/thrift_spec_constants.rb +11 -0
- data/spec/gen-rb/thrift_spec_types.rb +699 -0
- data/spec/json_protocol_spec.rb +17 -0
- data/test/debug_proto/gen-rb/debug_proto_test_constants.rb +274 -0
- data/test/debug_proto/gen-rb/debug_proto_test_types.rb +936 -0
- data/test/debug_proto/gen-rb/empty_service.rb +39 -0
- data/test/debug_proto/gen-rb/inherited.rb +105 -0
- data/test/debug_proto/gen-rb/reverse_order_service.rb +107 -0
- data/test/debug_proto/gen-rb/service_for_exception_with_a_map.rb +106 -0
- data/test/debug_proto/gen-rb/srv.rb +410 -0
- metadata +150 -92
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2a5d582754f7ba1078d44e62f4230d522de92b033172de5546f4b224d4f59f9
|
4
|
+
data.tar.gz: d2c0359abdd5dd5885930a854bb58a0280c28d4a8cfcd04885d6058d069b672f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 802f5da057755d933d88fce3e065f5af8dd172b775ba53f3f512736333ff5c9ca2db2547c269c0156c42c901576119290a43e94fa66db6aa8935fd968571619b
|
7
|
+
data.tar.gz: cb47abbb20ed8078060d11e572358913a2807a4b5c0723a53f526446425505672d179a8ea9c1e0c832e631ce49e972794b2a4c9cd61bfaf46b9a42ff0cd6f47b
|
@@ -0,0 +1,106 @@
|
|
1
|
+
#
|
2
|
+
# Autogenerated by Thrift Compiler (2.4.0-upfluence)
|
3
|
+
#
|
4
|
+
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'thrift'
|
8
|
+
require 'benchmark_types'
|
9
|
+
|
10
|
+
module ThriftBenchmark
|
11
|
+
module BenchmarkService
|
12
|
+
SERVICE = 'BenchmarkService'.freeze
|
13
|
+
NAMESPACE = ''.freeze
|
14
|
+
|
15
|
+
class Client
|
16
|
+
def initialize(client)
|
17
|
+
@client = ::Thrift.build_client(client)
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.from_provider(provider)
|
21
|
+
Client.new(provider.build(NAMESPACE, SERVICE))
|
22
|
+
end
|
23
|
+
|
24
|
+
def fibonacci(n)
|
25
|
+
result = @client.call_binary(
|
26
|
+
'fibonacci',
|
27
|
+
Fibonacci_args.new(n: n),
|
28
|
+
Fibonacci_result
|
29
|
+
)
|
30
|
+
|
31
|
+
return result.success unless result.success.nil?
|
32
|
+
raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'fibonacci failed: unknown result')
|
33
|
+
result
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
class Processor
|
39
|
+
include ::Thrift::Processor
|
40
|
+
|
41
|
+
def self.from_provider(handler, provider)
|
42
|
+
provider.build(NAMESPACE, SERVICE, Processor, handler)
|
43
|
+
end
|
44
|
+
|
45
|
+
def process_fibonacci(seqid, iprot, oprot)
|
46
|
+
args = read_args(iprot, Fibonacci_args)
|
47
|
+
result = @middleware.handle_binary('fibonacci', args) do |args|
|
48
|
+
result = Fibonacci_result.new()
|
49
|
+
result.success = @handler.fibonacci(args.n)
|
50
|
+
result
|
51
|
+
end
|
52
|
+
|
53
|
+
write_result(result, oprot, 'fibonacci', seqid)
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
# HELPER FUNCTIONS AND STRUCTURES
|
59
|
+
|
60
|
+
class Fibonacci_args
|
61
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
62
|
+
|
63
|
+
NAME = 'fibonacci_args'.freeze
|
64
|
+
NAMESPACE = ''.freeze
|
65
|
+
|
66
|
+
THRIFT_FIELD_INDEX_N = 1
|
67
|
+
|
68
|
+
FIELDS = {
|
69
|
+
THRIFT_FIELD_INDEX_N => {type: ::Thrift::Types::BYTE, name: 'n'}
|
70
|
+
}
|
71
|
+
|
72
|
+
def struct_fields; FIELDS; end
|
73
|
+
|
74
|
+
def validate
|
75
|
+
end
|
76
|
+
|
77
|
+
::Thrift::Struct.generate_accessors self
|
78
|
+
::Thrift.register_struct_type self
|
79
|
+
end
|
80
|
+
|
81
|
+
class Fibonacci_result
|
82
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
83
|
+
|
84
|
+
NAME = 'fibonacci_result'.freeze
|
85
|
+
NAMESPACE = ''.freeze
|
86
|
+
|
87
|
+
THRIFT_FIELD_INDEX_SUCCESS = 0
|
88
|
+
|
89
|
+
FIELDS = {
|
90
|
+
THRIFT_FIELD_INDEX_SUCCESS => {type: ::Thrift::Types::I32, name: 'success'}
|
91
|
+
}
|
92
|
+
|
93
|
+
def struct_fields; FIELDS; end
|
94
|
+
|
95
|
+
def validate
|
96
|
+
end
|
97
|
+
|
98
|
+
::Thrift::Struct.generate_accessors self
|
99
|
+
::Thrift.register_struct_type self
|
100
|
+
end
|
101
|
+
|
102
|
+
::Thrift.register_service_type(self)
|
103
|
+
|
104
|
+
end
|
105
|
+
|
106
|
+
end
|
data/ext/extconf.rb
CHANGED
@@ -23,10 +23,7 @@ else
|
|
23
23
|
require 'mkmf'
|
24
24
|
require 'rbconfig'
|
25
25
|
|
26
|
-
$
|
27
|
-
|
28
|
-
|
29
|
-
$CFLAGS = "-fsigned-char -g -O2 -Wall -Werror " + $ARCH_FLAGS
|
26
|
+
$CFLAGS += " -fsigned-char"
|
30
27
|
|
31
28
|
have_func("strlcpy", "string.h")
|
32
29
|
|
@@ -761,9 +761,73 @@ module Thrift
|
|
761
761
|
end
|
762
762
|
end
|
763
763
|
|
764
|
+
class SimpleJsonProtocol < JsonProtocol
|
765
|
+
READ_EXCEPTION = ProtocolException.new(
|
766
|
+
ProtocolException::NOT_IMPLEMENTED,
|
767
|
+
'op not implemented'
|
768
|
+
)
|
769
|
+
|
770
|
+
def write_message_begin(name, _type, _seqid)
|
771
|
+
write_json_object_start
|
772
|
+
write_json_string(name)
|
773
|
+
end
|
774
|
+
|
775
|
+
def read_message_begin
|
776
|
+
raise READ_EXCEPTION
|
777
|
+
end
|
778
|
+
|
779
|
+
def write_message_end
|
780
|
+
write_json_object_end
|
781
|
+
end
|
782
|
+
|
783
|
+
def write_field_begin(name, _type, _id)
|
784
|
+
write_json_string(name)
|
785
|
+
end
|
786
|
+
|
787
|
+
def read_field_begin
|
788
|
+
raise READ_EXCEPTION
|
789
|
+
end
|
790
|
+
|
791
|
+
def write_field_end; end
|
792
|
+
|
793
|
+
def write_map_begin(_ktype, _vtype, _size)
|
794
|
+
write_json_object_start
|
795
|
+
end
|
796
|
+
|
797
|
+
def read_map_begin
|
798
|
+
raise READ_EXCEPTION
|
799
|
+
end
|
800
|
+
|
801
|
+
def write_map_end
|
802
|
+
write_json_object_end
|
803
|
+
end
|
804
|
+
|
805
|
+
def write_list_begin(_etype, _size)
|
806
|
+
write_json_array_start
|
807
|
+
end
|
808
|
+
|
809
|
+
def read_list_begin
|
810
|
+
raise READ_EXCEPTION
|
811
|
+
end
|
812
|
+
|
813
|
+
def write_set_begin(_etype, _size)
|
814
|
+
write_json_array_start
|
815
|
+
end
|
816
|
+
|
817
|
+
def read_set_begin
|
818
|
+
raise READ_EXCEPTION
|
819
|
+
end
|
820
|
+
end
|
821
|
+
|
822
|
+
class SimpleJsonProtocolFactory < BaseProtocolFactory
|
823
|
+
def get_protocol(trans)
|
824
|
+
Thrift::SimpleJsonProtocol.new(trans)
|
825
|
+
end
|
826
|
+
end
|
827
|
+
|
764
828
|
class JsonProtocolFactory < BaseProtocolFactory
|
765
829
|
def get_protocol(trans)
|
766
|
-
|
830
|
+
Thrift::JsonProtocol.new(trans)
|
767
831
|
end
|
768
832
|
end
|
769
833
|
end
|
@@ -0,0 +1,106 @@
|
|
1
|
+
#
|
2
|
+
# Autogenerated by Thrift Compiler (2.4.0-upfluence)
|
3
|
+
#
|
4
|
+
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'thrift'
|
8
|
+
require 'base/base_service_types'
|
9
|
+
|
10
|
+
module Base
|
11
|
+
module BaseService
|
12
|
+
SERVICE = 'BaseService'.freeze
|
13
|
+
NAMESPACE = ''.freeze
|
14
|
+
|
15
|
+
class Client
|
16
|
+
def initialize(client)
|
17
|
+
@client = ::Thrift.build_client(client)
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.from_provider(provider)
|
21
|
+
Client.new(provider.build(NAMESPACE, SERVICE))
|
22
|
+
end
|
23
|
+
|
24
|
+
def greeting(english)
|
25
|
+
result = @client.call_binary(
|
26
|
+
'greeting',
|
27
|
+
Greeting_args.new(english: english),
|
28
|
+
Greeting_result
|
29
|
+
)
|
30
|
+
|
31
|
+
return result.success unless result.success.nil?
|
32
|
+
raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'greeting failed: unknown result')
|
33
|
+
result
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
class Processor
|
39
|
+
include ::Thrift::Processor
|
40
|
+
|
41
|
+
def self.from_provider(handler, provider)
|
42
|
+
provider.build(NAMESPACE, SERVICE, Processor, handler)
|
43
|
+
end
|
44
|
+
|
45
|
+
def process_greeting(seqid, iprot, oprot)
|
46
|
+
args = read_args(iprot, Greeting_args)
|
47
|
+
result = @middleware.handle_binary('greeting', args) do |args|
|
48
|
+
result = Greeting_result.new()
|
49
|
+
result.success = @handler.greeting(args.english)
|
50
|
+
result
|
51
|
+
end
|
52
|
+
|
53
|
+
write_result(result, oprot, 'greeting', seqid)
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
# HELPER FUNCTIONS AND STRUCTURES
|
59
|
+
|
60
|
+
class Greeting_args
|
61
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
62
|
+
|
63
|
+
NAME = 'greeting_args'.freeze
|
64
|
+
NAMESPACE = ''.freeze
|
65
|
+
|
66
|
+
THRIFT_FIELD_INDEX_ENGLISH = 1
|
67
|
+
|
68
|
+
FIELDS = {
|
69
|
+
THRIFT_FIELD_INDEX_ENGLISH => {type: ::Thrift::Types::BOOL, name: 'english'}
|
70
|
+
}
|
71
|
+
|
72
|
+
def struct_fields; FIELDS; end
|
73
|
+
|
74
|
+
def validate
|
75
|
+
end
|
76
|
+
|
77
|
+
::Thrift::Struct.generate_accessors self
|
78
|
+
::Thrift.register_struct_type self
|
79
|
+
end
|
80
|
+
|
81
|
+
class Greeting_result
|
82
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
83
|
+
|
84
|
+
NAME = 'greeting_result'.freeze
|
85
|
+
NAMESPACE = ''.freeze
|
86
|
+
|
87
|
+
THRIFT_FIELD_INDEX_SUCCESS = 0
|
88
|
+
|
89
|
+
FIELDS = {
|
90
|
+
THRIFT_FIELD_INDEX_SUCCESS => {type: ::Thrift::Types::STRUCT, name: 'success', class: ::Base::Hello}
|
91
|
+
}
|
92
|
+
|
93
|
+
def struct_fields; FIELDS; end
|
94
|
+
|
95
|
+
def validate
|
96
|
+
end
|
97
|
+
|
98
|
+
::Thrift::Struct.generate_accessors self
|
99
|
+
::Thrift.register_struct_type self
|
100
|
+
end
|
101
|
+
|
102
|
+
::Thrift.register_service_type(self)
|
103
|
+
|
104
|
+
end
|
105
|
+
|
106
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#
|
2
|
+
# Autogenerated by Thrift Compiler (2.4.0-upfluence)
|
3
|
+
#
|
4
|
+
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'thrift'
|
8
|
+
|
9
|
+
module Base
|
10
|
+
class Hello; end
|
11
|
+
|
12
|
+
class Hello
|
13
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
14
|
+
|
15
|
+
NAME = 'Hello'.freeze
|
16
|
+
NAMESPACE = ''.freeze
|
17
|
+
|
18
|
+
THRIFT_FIELD_INDEX_GREETING = 1
|
19
|
+
|
20
|
+
FIELDS = {
|
21
|
+
THRIFT_FIELD_INDEX_GREETING => {type: ::Thrift::Types::STRING, name: 'greeting', default: %q"hello world"}
|
22
|
+
}
|
23
|
+
|
24
|
+
def struct_fields; FIELDS; end
|
25
|
+
|
26
|
+
def validate
|
27
|
+
end
|
28
|
+
|
29
|
+
::Thrift::Struct.generate_accessors self
|
30
|
+
::Thrift.register_struct_type self
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
#
|
2
|
+
# Autogenerated by Thrift Compiler (2.4.0-upfluence)
|
3
|
+
#
|
4
|
+
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'thrift'
|
8
|
+
require 'base/base_service'
|
9
|
+
require 'extended/extended_service_types'
|
10
|
+
|
11
|
+
module Extended
|
12
|
+
module ExtendedService
|
13
|
+
SERVICE = 'ExtendedService'.freeze
|
14
|
+
NAMESPACE = ''.freeze
|
15
|
+
|
16
|
+
class Client < ::Base::BaseService::Client
|
17
|
+
def initialize(client)
|
18
|
+
@client = ::Thrift.build_client(client)
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.from_provider(provider)
|
22
|
+
Client.new(provider.build(NAMESPACE, SERVICE))
|
23
|
+
end
|
24
|
+
|
25
|
+
def ping()
|
26
|
+
result = @client.call_binary(
|
27
|
+
'ping',
|
28
|
+
Ping_args.new(),
|
29
|
+
Ping_result
|
30
|
+
)
|
31
|
+
|
32
|
+
nil
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
class Processor < ::Base::BaseService::Processor
|
38
|
+
include ::Thrift::Processor
|
39
|
+
|
40
|
+
def self.from_provider(handler, provider)
|
41
|
+
provider.build(NAMESPACE, SERVICE, Processor, handler)
|
42
|
+
end
|
43
|
+
|
44
|
+
def process_ping(seqid, iprot, oprot)
|
45
|
+
args = read_args(iprot, Ping_args)
|
46
|
+
result = @middleware.handle_binary('ping', args) do |args|
|
47
|
+
result = Ping_result.new()
|
48
|
+
@handler.ping()
|
49
|
+
result
|
50
|
+
end
|
51
|
+
|
52
|
+
write_result(result, oprot, 'ping', seqid)
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
# HELPER FUNCTIONS AND STRUCTURES
|
58
|
+
|
59
|
+
class Ping_args
|
60
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
61
|
+
|
62
|
+
NAME = 'ping_args'.freeze
|
63
|
+
NAMESPACE = ''.freeze
|
64
|
+
|
65
|
+
|
66
|
+
FIELDS = {
|
67
|
+
|
68
|
+
}
|
69
|
+
|
70
|
+
def struct_fields; FIELDS; end
|
71
|
+
|
72
|
+
def validate
|
73
|
+
end
|
74
|
+
|
75
|
+
::Thrift::Struct.generate_accessors self
|
76
|
+
::Thrift.register_struct_type self
|
77
|
+
end
|
78
|
+
|
79
|
+
class Ping_result
|
80
|
+
include ::Thrift::Struct, ::Thrift::Struct_Union
|
81
|
+
|
82
|
+
NAME = 'ping_result'.freeze
|
83
|
+
NAMESPACE = ''.freeze
|
84
|
+
|
85
|
+
|
86
|
+
FIELDS = {
|
87
|
+
|
88
|
+
}
|
89
|
+
|
90
|
+
def struct_fields; FIELDS; end
|
91
|
+
|
92
|
+
def validate
|
93
|
+
end
|
94
|
+
|
95
|
+
::Thrift::Struct.generate_accessors self
|
96
|
+
::Thrift.register_struct_type self
|
97
|
+
end
|
98
|
+
|
99
|
+
::Thrift.register_service_type(self)
|
100
|
+
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|