tiny_thrift 1.0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README +43 -0
- data/benchmark/Benchmark.thrift +24 -0
- data/benchmark/benchmark.rb +271 -0
- data/benchmark/client.rb +74 -0
- data/benchmark/server.rb +82 -0
- data/benchmark/thin_server.rb +44 -0
- data/ext/binary_protocol_accelerated.c +460 -0
- data/ext/binary_protocol_accelerated.h +20 -0
- data/ext/bytes.c +36 -0
- data/ext/bytes.h +31 -0
- data/ext/compact_protocol.c +635 -0
- data/ext/compact_protocol.h +20 -0
- data/ext/constants.h +96 -0
- data/ext/extconf.rb +32 -0
- data/ext/macros.h +41 -0
- data/ext/memory_buffer.c +134 -0
- data/ext/memory_buffer.h +20 -0
- data/ext/protocol.c +0 -0
- data/ext/protocol.h +0 -0
- data/ext/strlcpy.c +41 -0
- data/ext/strlcpy.h +34 -0
- data/ext/struct.c +688 -0
- data/ext/struct.h +25 -0
- data/ext/thrift_native.c +195 -0
- data/lib/thrift.rb +66 -0
- data/lib/thrift/bytes.rb +131 -0
- data/lib/thrift/client.rb +62 -0
- data/lib/thrift/core_ext.rb +23 -0
- data/lib/thrift/core_ext/fixnum.rb +29 -0
- data/lib/thrift/exceptions.rb +87 -0
- data/lib/thrift/processor.rb +57 -0
- data/lib/thrift/protocol/base_protocol.rb +377 -0
- data/lib/thrift/protocol/binary_protocol.rb +237 -0
- data/lib/thrift/protocol/binary_protocol_accelerated.rb +39 -0
- data/lib/thrift/protocol/compact_protocol.rb +434 -0
- data/lib/thrift/protocol/json_protocol.rb +769 -0
- data/lib/thrift/serializer/deserializer.rb +33 -0
- data/lib/thrift/serializer/serializer.rb +34 -0
- data/lib/thrift/server/base_server.rb +31 -0
- data/lib/thrift/server/mongrel_http_server.rb +60 -0
- data/lib/thrift/server/nonblocking_server.rb +305 -0
- data/lib/thrift/server/simple_server.rb +43 -0
- data/lib/thrift/server/thin_http_server.rb +91 -0
- data/lib/thrift/server/thread_pool_server.rb +75 -0
- data/lib/thrift/server/threaded_server.rb +47 -0
- data/lib/thrift/struct.rb +237 -0
- data/lib/thrift/struct_union.rb +192 -0
- data/lib/thrift/thrift_native.rb +24 -0
- data/lib/thrift/transport/base_server_transport.rb +37 -0
- data/lib/thrift/transport/base_transport.rb +109 -0
- data/lib/thrift/transport/buffered_transport.rb +114 -0
- data/lib/thrift/transport/framed_transport.rb +117 -0
- data/lib/thrift/transport/http_client_transport.rb +56 -0
- data/lib/thrift/transport/io_stream_transport.rb +39 -0
- data/lib/thrift/transport/memory_buffer_transport.rb +125 -0
- data/lib/thrift/transport/server_socket.rb +63 -0
- data/lib/thrift/transport/socket.rb +139 -0
- data/lib/thrift/transport/unix_server_socket.rb +60 -0
- data/lib/thrift/transport/unix_socket.rb +40 -0
- data/lib/thrift/types.rb +101 -0
- data/lib/thrift/union.rb +179 -0
- data/lib/tiny_thrift.rb +1 -0
- data/spec/ThriftSpec.thrift +183 -0
- data/spec/base_protocol_spec.rb +217 -0
- data/spec/base_transport_spec.rb +350 -0
- data/spec/binary_protocol_accelerated_spec.rb +42 -0
- data/spec/binary_protocol_spec.rb +66 -0
- data/spec/binary_protocol_spec_shared.rb +455 -0
- data/spec/bytes_spec.rb +160 -0
- data/spec/client_spec.rb +99 -0
- data/spec/compact_protocol_spec.rb +143 -0
- data/spec/exception_spec.rb +141 -0
- data/spec/http_client_spec.rb +120 -0
- data/spec/json_protocol_spec.rb +513 -0
- data/spec/nonblocking_server_spec.rb +263 -0
- data/spec/processor_spec.rb +80 -0
- data/spec/serializer_spec.rb +67 -0
- data/spec/server_socket_spec.rb +79 -0
- data/spec/server_spec.rb +147 -0
- data/spec/socket_spec.rb +61 -0
- data/spec/socket_spec_shared.rb +104 -0
- data/spec/spec_helper.rb +61 -0
- data/spec/struct_nested_containers_spec.rb +191 -0
- data/spec/struct_spec.rb +293 -0
- data/spec/thin_http_server_spec.rb +141 -0
- data/spec/types_spec.rb +115 -0
- data/spec/union_spec.rb +203 -0
- data/spec/unix_socket_spec.rb +107 -0
- metadata +313 -0
data/spec/union_spec.rb
ADDED
@@ -0,0 +1,203 @@
|
|
1
|
+
#
|
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
|
+
require 'spec_helper'
|
21
|
+
|
22
|
+
describe 'Union' do
|
23
|
+
|
24
|
+
describe Thrift::Union do
|
25
|
+
it "should return nil value in unset union" do
|
26
|
+
union = SpecNamespace::My_union.new
|
27
|
+
union.get_set_field.should == nil
|
28
|
+
union.get_value.should == nil
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should set a field and be accessible through get_value and the named field accessor" do
|
32
|
+
union = SpecNamespace::My_union.new
|
33
|
+
union.integer32 = 25
|
34
|
+
union.get_set_field.should == :integer32
|
35
|
+
union.get_value.should == 25
|
36
|
+
union.integer32.should == 25
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should work correctly when instantiated with static field constructors" do
|
40
|
+
union = SpecNamespace::My_union.integer32(5)
|
41
|
+
union.get_set_field.should == :integer32
|
42
|
+
union.integer32.should == 5
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should raise for wrong set field" do
|
46
|
+
union = SpecNamespace::My_union.new
|
47
|
+
union.integer32 = 25
|
48
|
+
lambda { union.some_characters }.should raise_error(RuntimeError, "some_characters is not union's set field.")
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should not be equal to nil" do
|
52
|
+
union = SpecNamespace::My_union.new
|
53
|
+
union.should_not == nil
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should not equate two different unions, i32 vs. string" do
|
57
|
+
union = SpecNamespace::My_union.new(:integer32, 25)
|
58
|
+
other_union = SpecNamespace::My_union.new(:some_characters, "blah!")
|
59
|
+
union.should_not == other_union
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should properly reset setfield and setvalue" do
|
63
|
+
union = SpecNamespace::My_union.new(:integer32, 25)
|
64
|
+
union.get_set_field.should == :integer32
|
65
|
+
union.some_characters = "blah!"
|
66
|
+
union.get_set_field.should == :some_characters
|
67
|
+
union.get_value.should == "blah!"
|
68
|
+
lambda { union.integer32 }.should raise_error(RuntimeError, "integer32 is not union's set field.")
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should not equate two different unions with different values" do
|
72
|
+
union = SpecNamespace::My_union.new(:integer32, 25)
|
73
|
+
other_union = SpecNamespace::My_union.new(:integer32, 400)
|
74
|
+
union.should_not == other_union
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should not equate two different unions with different fields" do
|
78
|
+
union = SpecNamespace::My_union.new(:integer32, 25)
|
79
|
+
other_union = SpecNamespace::My_union.new(:other_i32, 25)
|
80
|
+
union.should_not == other_union
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should inspect properly" do
|
84
|
+
union = SpecNamespace::My_union.new(:integer32, 25)
|
85
|
+
union.inspect.should == "<SpecNamespace::My_union integer32: 25>"
|
86
|
+
end
|
87
|
+
|
88
|
+
it "should not allow setting with instance_variable_set" do
|
89
|
+
union = SpecNamespace::My_union.new(:integer32, 27)
|
90
|
+
union.instance_variable_set(:@some_characters, "hallo!")
|
91
|
+
union.get_set_field.should == :integer32
|
92
|
+
union.get_value.should == 27
|
93
|
+
lambda { union.some_characters }.should raise_error(RuntimeError, "some_characters is not union's set field.")
|
94
|
+
end
|
95
|
+
|
96
|
+
it "should serialize to binary correctly" do
|
97
|
+
trans = Thrift::MemoryBufferTransport.new
|
98
|
+
proto = Thrift::BinaryProtocol.new(trans)
|
99
|
+
|
100
|
+
union = SpecNamespace::My_union.new(:integer32, 25)
|
101
|
+
union.write(proto)
|
102
|
+
|
103
|
+
other_union = SpecNamespace::My_union.new(:integer32, 25)
|
104
|
+
other_union.read(proto)
|
105
|
+
other_union.should == union
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should serialize to json correctly" do
|
109
|
+
trans = Thrift::MemoryBufferTransport.new
|
110
|
+
proto = Thrift::JsonProtocol.new(trans)
|
111
|
+
|
112
|
+
union = SpecNamespace::My_union.new(:integer32, 25)
|
113
|
+
union.write(proto)
|
114
|
+
|
115
|
+
other_union = SpecNamespace::My_union.new(:integer32, 25)
|
116
|
+
other_union.read(proto)
|
117
|
+
other_union.should == union
|
118
|
+
end
|
119
|
+
|
120
|
+
it "should raise when validating unset union" do
|
121
|
+
union = SpecNamespace::My_union.new
|
122
|
+
lambda { union.validate }.should raise_error(StandardError, "Union fields are not set.")
|
123
|
+
|
124
|
+
other_union = SpecNamespace::My_union.new(:integer32, 1)
|
125
|
+
lambda { other_union.validate }.should_not raise_error(StandardError, "Union fields are not set.")
|
126
|
+
end
|
127
|
+
|
128
|
+
it "should validate an enum field properly" do
|
129
|
+
union = SpecNamespace::TestUnion.new(:enum_field, 3)
|
130
|
+
union.get_set_field.should == :enum_field
|
131
|
+
lambda { union.validate }.should raise_error(Thrift::ProtocolException, "Invalid value of field enum_field!")
|
132
|
+
|
133
|
+
other_union = SpecNamespace::TestUnion.new(:enum_field, 1)
|
134
|
+
lambda { other_union.validate }.should_not raise_error(Thrift::ProtocolException, "Invalid value of field enum_field!")
|
135
|
+
end
|
136
|
+
|
137
|
+
it "should properly serialize and match structs with a union" do
|
138
|
+
union = SpecNamespace::My_union.new(:integer32, 26)
|
139
|
+
swu = SpecNamespace::Struct_with_union.new(:fun_union => union)
|
140
|
+
|
141
|
+
trans = Thrift::MemoryBufferTransport.new
|
142
|
+
proto = Thrift::CompactProtocol.new(trans)
|
143
|
+
|
144
|
+
swu.write(proto)
|
145
|
+
|
146
|
+
other_union = SpecNamespace::My_union.new(:some_characters, "hello there")
|
147
|
+
swu2 = SpecNamespace::Struct_with_union.new(:fun_union => other_union)
|
148
|
+
|
149
|
+
swu2.should_not == swu
|
150
|
+
|
151
|
+
swu2.read(proto)
|
152
|
+
swu2.should == swu
|
153
|
+
end
|
154
|
+
|
155
|
+
it "should support old style constructor" do
|
156
|
+
union = SpecNamespace::My_union.new(:integer32 => 26)
|
157
|
+
union.get_set_field.should == :integer32
|
158
|
+
union.get_value.should == 26
|
159
|
+
end
|
160
|
+
|
161
|
+
it "should not throw an error when inspected and unset" do
|
162
|
+
lambda{SpecNamespace::TestUnion.new().inspect}.should_not raise_error
|
163
|
+
end
|
164
|
+
|
165
|
+
it "should print enum value name when inspected" do
|
166
|
+
SpecNamespace::My_union.new(:some_enum => SpecNamespace::SomeEnum::ONE).inspect.should == "<SpecNamespace::My_union some_enum: ONE (0)>"
|
167
|
+
|
168
|
+
SpecNamespace::My_union.new(:my_map => {SpecNamespace::SomeEnum::ONE => [SpecNamespace::SomeEnum::TWO]}).inspect.should == "<SpecNamespace::My_union my_map: {ONE (0): [TWO (1)]}>"
|
169
|
+
end
|
170
|
+
|
171
|
+
it "should offer field? methods" do
|
172
|
+
SpecNamespace::My_union.new.some_enum?.should be_false
|
173
|
+
SpecNamespace::My_union.new(:some_enum => SpecNamespace::SomeEnum::ONE).some_enum?.should be_true
|
174
|
+
SpecNamespace::My_union.new(:im_true => false).im_true?.should be_true
|
175
|
+
SpecNamespace::My_union.new(:im_true => true).im_true?.should be_true
|
176
|
+
end
|
177
|
+
|
178
|
+
it "should pretty print binary fields" do
|
179
|
+
SpecNamespace::TestUnion.new(:binary_field => "\001\002\003").inspect.should == "<SpecNamespace::TestUnion binary_field: 010203>"
|
180
|
+
end
|
181
|
+
|
182
|
+
it "should be comparable" do
|
183
|
+
relationships = [
|
184
|
+
[0, -1, -1, -1],
|
185
|
+
[1, 0, -1, -1],
|
186
|
+
[1, 1, 0, -1],
|
187
|
+
[1, 1, 1, 0]]
|
188
|
+
|
189
|
+
objs = [
|
190
|
+
SpecNamespace::TestUnion.new(:string_field, "blah"),
|
191
|
+
SpecNamespace::TestUnion.new(:string_field, "blahblah"),
|
192
|
+
SpecNamespace::TestUnion.new(:i32_field, 1),
|
193
|
+
SpecNamespace::TestUnion.new()]
|
194
|
+
|
195
|
+
for y in 0..3
|
196
|
+
for x in 0..3
|
197
|
+
# puts "#{objs[y].inspect} <=> #{objs[x].inspect} should == #{relationships[y][x]}"
|
198
|
+
(objs[y] <=> objs[x]).should == relationships[y][x]
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|
202
|
+
end
|
203
|
+
end
|
@@ -0,0 +1,107 @@
|
|
1
|
+
#
|
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
|
+
require 'spec_helper'
|
21
|
+
require File.expand_path("#{File.dirname(__FILE__)}/socket_spec_shared")
|
22
|
+
|
23
|
+
describe 'UNIXSocket' do
|
24
|
+
|
25
|
+
describe Thrift::UNIXSocket do
|
26
|
+
before(:each) do
|
27
|
+
@path = '/tmp/thrift_spec_socket'
|
28
|
+
@socket = Thrift::UNIXSocket.new(@path)
|
29
|
+
@handle = mock("Handle", :closed? => false)
|
30
|
+
@handle.stub!(:close)
|
31
|
+
::UNIXSocket.stub!(:new).and_return(@handle)
|
32
|
+
end
|
33
|
+
|
34
|
+
it_should_behave_like "a socket"
|
35
|
+
|
36
|
+
it "should raise a TransportException when it cannot open a socket" do
|
37
|
+
::UNIXSocket.should_receive(:new).and_raise(StandardError)
|
38
|
+
lambda { @socket.open }.should raise_error(Thrift::TransportException) { |e| e.type.should == Thrift::TransportException::NOT_OPEN }
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should accept an optional timeout" do
|
42
|
+
::UNIXSocket.stub!(:new)
|
43
|
+
Thrift::UNIXSocket.new(@path, 5).timeout.should == 5
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe Thrift::UNIXServerSocket do
|
48
|
+
before(:each) do
|
49
|
+
@path = '/tmp/thrift_spec_socket'
|
50
|
+
@socket = Thrift::UNIXServerSocket.new(@path)
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should create a handle when calling listen" do
|
54
|
+
UNIXServer.should_receive(:new).with(@path)
|
55
|
+
@socket.listen
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should create a Thrift::UNIXSocket to wrap accepted sockets" do
|
59
|
+
handle = mock("UNIXServer")
|
60
|
+
UNIXServer.should_receive(:new).with(@path).and_return(handle)
|
61
|
+
@socket.listen
|
62
|
+
sock = mock("sock")
|
63
|
+
handle.should_receive(:accept).and_return(sock)
|
64
|
+
trans = mock("UNIXSocket")
|
65
|
+
Thrift::UNIXSocket.should_receive(:new).and_return(trans)
|
66
|
+
trans.should_receive(:handle=).with(sock)
|
67
|
+
@socket.accept.should == trans
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should close the handle when closed" do
|
71
|
+
handle = mock("UNIXServer", :closed? => false)
|
72
|
+
UNIXServer.should_receive(:new).with(@path).and_return(handle)
|
73
|
+
@socket.listen
|
74
|
+
handle.should_receive(:close)
|
75
|
+
File.stub!(:delete)
|
76
|
+
@socket.close
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should delete the socket when closed" do
|
80
|
+
handle = mock("UNIXServer", :closed? => false)
|
81
|
+
UNIXServer.should_receive(:new).with(@path).and_return(handle)
|
82
|
+
@socket.listen
|
83
|
+
handle.stub!(:close)
|
84
|
+
File.should_receive(:delete).with(@path)
|
85
|
+
@socket.close
|
86
|
+
end
|
87
|
+
|
88
|
+
it "should return nil when accepting if there is no handle" do
|
89
|
+
@socket.accept.should be_nil
|
90
|
+
end
|
91
|
+
|
92
|
+
it "should return true for closed? when appropriate" do
|
93
|
+
handle = mock("UNIXServer", :closed? => false)
|
94
|
+
UNIXServer.stub!(:new).and_return(handle)
|
95
|
+
File.stub!(:delete)
|
96
|
+
@socket.listen
|
97
|
+
@socket.should_not be_closed
|
98
|
+
handle.stub!(:close)
|
99
|
+
@socket.close
|
100
|
+
@socket.should be_closed
|
101
|
+
@socket.listen
|
102
|
+
@socket.should_not be_closed
|
103
|
+
handle.stub!(:closed?).and_return(true)
|
104
|
+
@socket.should be_closed
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
metadata
ADDED
@@ -0,0 +1,313 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tiny_thrift
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Thrift Developers
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-06-20 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.10.0
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.10.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rack
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.5.2
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.5.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rack-test
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.6.2
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.6.2
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: thin
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.5.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.5.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bundler
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: Ruby bindings for the Apache Thrift RPC system
|
98
|
+
email:
|
99
|
+
- dev@thrift.apache.org
|
100
|
+
executables: []
|
101
|
+
extensions:
|
102
|
+
- ext/extconf.rb
|
103
|
+
extra_rdoc_files:
|
104
|
+
- README
|
105
|
+
- ext/binary_protocol_accelerated.c
|
106
|
+
- ext/bytes.c
|
107
|
+
- ext/compact_protocol.c
|
108
|
+
- ext/memory_buffer.c
|
109
|
+
- ext/protocol.c
|
110
|
+
- ext/strlcpy.c
|
111
|
+
- ext/struct.c
|
112
|
+
- ext/thrift_native.c
|
113
|
+
- ext/binary_protocol_accelerated.h
|
114
|
+
- ext/bytes.h
|
115
|
+
- ext/compact_protocol.h
|
116
|
+
- ext/constants.h
|
117
|
+
- ext/macros.h
|
118
|
+
- ext/memory_buffer.h
|
119
|
+
- ext/protocol.h
|
120
|
+
- ext/strlcpy.h
|
121
|
+
- ext/struct.h
|
122
|
+
- ext/extconf.rb
|
123
|
+
- lib/thrift/bytes.rb
|
124
|
+
- lib/thrift/client.rb
|
125
|
+
- lib/thrift/core_ext/fixnum.rb
|
126
|
+
- lib/thrift/core_ext.rb
|
127
|
+
- lib/thrift/exceptions.rb
|
128
|
+
- lib/thrift/processor.rb
|
129
|
+
- lib/thrift/protocol/base_protocol.rb
|
130
|
+
- lib/thrift/protocol/binary_protocol.rb
|
131
|
+
- lib/thrift/protocol/binary_protocol_accelerated.rb
|
132
|
+
- lib/thrift/protocol/compact_protocol.rb
|
133
|
+
- lib/thrift/protocol/json_protocol.rb
|
134
|
+
- lib/thrift/serializer/deserializer.rb
|
135
|
+
- lib/thrift/serializer/serializer.rb
|
136
|
+
- lib/thrift/server/base_server.rb
|
137
|
+
- lib/thrift/server/mongrel_http_server.rb
|
138
|
+
- lib/thrift/server/nonblocking_server.rb
|
139
|
+
- lib/thrift/server/simple_server.rb
|
140
|
+
- lib/thrift/server/thin_http_server.rb
|
141
|
+
- lib/thrift/server/thread_pool_server.rb
|
142
|
+
- lib/thrift/server/threaded_server.rb
|
143
|
+
- lib/thrift/struct.rb
|
144
|
+
- lib/thrift/struct_union.rb
|
145
|
+
- lib/thrift/thrift_native.rb
|
146
|
+
- lib/thrift/transport/base_server_transport.rb
|
147
|
+
- lib/thrift/transport/base_transport.rb
|
148
|
+
- lib/thrift/transport/buffered_transport.rb
|
149
|
+
- lib/thrift/transport/framed_transport.rb
|
150
|
+
- lib/thrift/transport/http_client_transport.rb
|
151
|
+
- lib/thrift/transport/io_stream_transport.rb
|
152
|
+
- lib/thrift/transport/memory_buffer_transport.rb
|
153
|
+
- lib/thrift/transport/server_socket.rb
|
154
|
+
- lib/thrift/transport/socket.rb
|
155
|
+
- lib/thrift/transport/unix_server_socket.rb
|
156
|
+
- lib/thrift/transport/unix_socket.rb
|
157
|
+
- lib/thrift/types.rb
|
158
|
+
- lib/thrift/union.rb
|
159
|
+
- lib/thrift.rb
|
160
|
+
- lib/tiny_thrift.rb
|
161
|
+
files:
|
162
|
+
- README
|
163
|
+
- benchmark/Benchmark.thrift
|
164
|
+
- benchmark/benchmark.rb
|
165
|
+
- benchmark/client.rb
|
166
|
+
- benchmark/server.rb
|
167
|
+
- benchmark/thin_server.rb
|
168
|
+
- ext/binary_protocol_accelerated.c
|
169
|
+
- ext/binary_protocol_accelerated.h
|
170
|
+
- ext/bytes.c
|
171
|
+
- ext/bytes.h
|
172
|
+
- ext/compact_protocol.c
|
173
|
+
- ext/compact_protocol.h
|
174
|
+
- ext/constants.h
|
175
|
+
- ext/extconf.rb
|
176
|
+
- ext/macros.h
|
177
|
+
- ext/memory_buffer.c
|
178
|
+
- ext/memory_buffer.h
|
179
|
+
- ext/protocol.c
|
180
|
+
- ext/protocol.h
|
181
|
+
- ext/strlcpy.c
|
182
|
+
- ext/strlcpy.h
|
183
|
+
- ext/struct.c
|
184
|
+
- ext/struct.h
|
185
|
+
- ext/thrift_native.c
|
186
|
+
- lib/thrift.rb
|
187
|
+
- lib/thrift/bytes.rb
|
188
|
+
- lib/thrift/client.rb
|
189
|
+
- lib/thrift/core_ext.rb
|
190
|
+
- lib/thrift/core_ext/fixnum.rb
|
191
|
+
- lib/thrift/exceptions.rb
|
192
|
+
- lib/thrift/processor.rb
|
193
|
+
- lib/thrift/protocol/base_protocol.rb
|
194
|
+
- lib/thrift/protocol/binary_protocol.rb
|
195
|
+
- lib/thrift/protocol/binary_protocol_accelerated.rb
|
196
|
+
- lib/thrift/protocol/compact_protocol.rb
|
197
|
+
- lib/thrift/protocol/json_protocol.rb
|
198
|
+
- lib/thrift/serializer/deserializer.rb
|
199
|
+
- lib/thrift/serializer/serializer.rb
|
200
|
+
- lib/thrift/server/base_server.rb
|
201
|
+
- lib/thrift/server/mongrel_http_server.rb
|
202
|
+
- lib/thrift/server/nonblocking_server.rb
|
203
|
+
- lib/thrift/server/simple_server.rb
|
204
|
+
- lib/thrift/server/thin_http_server.rb
|
205
|
+
- lib/thrift/server/thread_pool_server.rb
|
206
|
+
- lib/thrift/server/threaded_server.rb
|
207
|
+
- lib/thrift/struct.rb
|
208
|
+
- lib/thrift/struct_union.rb
|
209
|
+
- lib/thrift/thrift_native.rb
|
210
|
+
- lib/thrift/transport/base_server_transport.rb
|
211
|
+
- lib/thrift/transport/base_transport.rb
|
212
|
+
- lib/thrift/transport/buffered_transport.rb
|
213
|
+
- lib/thrift/transport/framed_transport.rb
|
214
|
+
- lib/thrift/transport/http_client_transport.rb
|
215
|
+
- lib/thrift/transport/io_stream_transport.rb
|
216
|
+
- lib/thrift/transport/memory_buffer_transport.rb
|
217
|
+
- lib/thrift/transport/server_socket.rb
|
218
|
+
- lib/thrift/transport/socket.rb
|
219
|
+
- lib/thrift/transport/unix_server_socket.rb
|
220
|
+
- lib/thrift/transport/unix_socket.rb
|
221
|
+
- lib/thrift/types.rb
|
222
|
+
- lib/thrift/union.rb
|
223
|
+
- lib/tiny_thrift.rb
|
224
|
+
- spec/ThriftSpec.thrift
|
225
|
+
- spec/base_protocol_spec.rb
|
226
|
+
- spec/base_transport_spec.rb
|
227
|
+
- spec/binary_protocol_accelerated_spec.rb
|
228
|
+
- spec/binary_protocol_spec.rb
|
229
|
+
- spec/binary_protocol_spec_shared.rb
|
230
|
+
- spec/bytes_spec.rb
|
231
|
+
- spec/client_spec.rb
|
232
|
+
- spec/compact_protocol_spec.rb
|
233
|
+
- spec/exception_spec.rb
|
234
|
+
- spec/http_client_spec.rb
|
235
|
+
- spec/json_protocol_spec.rb
|
236
|
+
- spec/nonblocking_server_spec.rb
|
237
|
+
- spec/processor_spec.rb
|
238
|
+
- spec/serializer_spec.rb
|
239
|
+
- spec/server_socket_spec.rb
|
240
|
+
- spec/server_spec.rb
|
241
|
+
- spec/socket_spec.rb
|
242
|
+
- spec/socket_spec_shared.rb
|
243
|
+
- spec/spec_helper.rb
|
244
|
+
- spec/struct_nested_containers_spec.rb
|
245
|
+
- spec/struct_spec.rb
|
246
|
+
- spec/thin_http_server_spec.rb
|
247
|
+
- spec/types_spec.rb
|
248
|
+
- spec/union_spec.rb
|
249
|
+
- spec/unix_socket_spec.rb
|
250
|
+
homepage: http://thrift.apache.org
|
251
|
+
licenses:
|
252
|
+
- Apache 2.0
|
253
|
+
metadata: {}
|
254
|
+
post_install_message:
|
255
|
+
rdoc_options:
|
256
|
+
- "--line-numbers"
|
257
|
+
- "--inline-source"
|
258
|
+
- "--title"
|
259
|
+
- Thrift
|
260
|
+
- "--main"
|
261
|
+
- README
|
262
|
+
require_paths:
|
263
|
+
- lib
|
264
|
+
- ext
|
265
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
266
|
+
requirements:
|
267
|
+
- - ">="
|
268
|
+
- !ruby/object:Gem::Version
|
269
|
+
version: '0'
|
270
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
271
|
+
requirements:
|
272
|
+
- - ">="
|
273
|
+
- !ruby/object:Gem::Version
|
274
|
+
version: '0'
|
275
|
+
requirements: []
|
276
|
+
rubyforge_project: thrift
|
277
|
+
rubygems_version: 2.2.2
|
278
|
+
signing_key:
|
279
|
+
specification_version: 4
|
280
|
+
summary: Ruby bindings for Apache Thrift
|
281
|
+
test_files:
|
282
|
+
- spec/base_protocol_spec.rb
|
283
|
+
- spec/base_transport_spec.rb
|
284
|
+
- spec/binary_protocol_accelerated_spec.rb
|
285
|
+
- spec/binary_protocol_spec.rb
|
286
|
+
- spec/binary_protocol_spec_shared.rb
|
287
|
+
- spec/bytes_spec.rb
|
288
|
+
- spec/client_spec.rb
|
289
|
+
- spec/compact_protocol_spec.rb
|
290
|
+
- spec/exception_spec.rb
|
291
|
+
- spec/http_client_spec.rb
|
292
|
+
- spec/json_protocol_spec.rb
|
293
|
+
- spec/nonblocking_server_spec.rb
|
294
|
+
- spec/processor_spec.rb
|
295
|
+
- spec/serializer_spec.rb
|
296
|
+
- spec/server_socket_spec.rb
|
297
|
+
- spec/server_spec.rb
|
298
|
+
- spec/socket_spec.rb
|
299
|
+
- spec/socket_spec_shared.rb
|
300
|
+
- spec/spec_helper.rb
|
301
|
+
- spec/struct_nested_containers_spec.rb
|
302
|
+
- spec/struct_spec.rb
|
303
|
+
- spec/thin_http_server_spec.rb
|
304
|
+
- spec/ThriftSpec.thrift
|
305
|
+
- spec/types_spec.rb
|
306
|
+
- spec/union_spec.rb
|
307
|
+
- spec/unix_socket_spec.rb
|
308
|
+
- benchmark/benchmark.rb
|
309
|
+
- benchmark/Benchmark.thrift
|
310
|
+
- benchmark/client.rb
|
311
|
+
- benchmark/server.rb
|
312
|
+
- benchmark/thin_server.rb
|
313
|
+
has_rdoc: true
|