beetle 0.2.9.1 → 0.2.9.2
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.
- data/beetle.gemspec +3 -2
- data/lib/beetle.rb +1 -3
- metadata +37 -24
- data/lib/ext/qrack/client.rb +0 -28
- data/test/beetle/ext_test.rb +0 -26
data/beetle.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "beetle"
|
3
|
-
s.version = "0.2.9.
|
3
|
+
s.version = "0.2.9.2"
|
4
4
|
|
5
5
|
s.required_rubygems_version = ">= 1.3.1"
|
6
6
|
s.authors = ["Stefan Kaes", "Pascal Friederich", "Ali Jelveh", "Sebastian Roebke"]
|
@@ -30,7 +30,8 @@ Gem::Specification.new do |s|
|
|
30
30
|
|
31
31
|
s.specification_version = 3
|
32
32
|
s.add_runtime_dependency("uuid4r", [">= 0.1.1"])
|
33
|
-
s.add_runtime_dependency("bunny", ["
|
33
|
+
s.add_runtime_dependency("bunny", ["= 0.6.0"])
|
34
|
+
s.add_runtime_dependency("bunny-ext", ["= 0.6.1"])
|
34
35
|
s.add_runtime_dependency("redis", ["= 2.0.4"])
|
35
36
|
s.add_runtime_dependency("amqp", [">= 0.6.7"])
|
36
37
|
s.add_runtime_dependency("activesupport", ["~> 2.3.4"])
|
data/lib/beetle.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
$:.unshift(File.expand_path('..', __FILE__))
|
2
2
|
require 'amqp'
|
3
3
|
require 'mq'
|
4
|
-
require 'bunny'
|
4
|
+
require 'bunny-ext'
|
5
5
|
require 'uuid4r'
|
6
6
|
require 'active_support'
|
7
7
|
require 'redis'
|
@@ -59,5 +59,3 @@ module Beetle
|
|
59
59
|
|
60
60
|
Timer = RUBY_VERSION < "1.9" ? SystemTimer : Timeout
|
61
61
|
end
|
62
|
-
|
63
|
-
require 'ext/qrack/client'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beetle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 127
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
9
|
- 9
|
10
|
-
-
|
11
|
-
version: 0.2.9.
|
10
|
+
- 2
|
11
|
+
version: 0.2.9.2
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Stefan Kaes
|
@@ -19,7 +19,7 @@ autorequire:
|
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
21
|
|
22
|
-
date: 2010-11-
|
22
|
+
date: 2010-11-19 00:00:00 +01:00
|
23
23
|
default_executable: beetle
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
requirement: &id002 !ruby/object:Gem::Requirement
|
45
45
|
none: false
|
46
46
|
requirements:
|
47
|
-
- - "
|
47
|
+
- - "="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
hash: 7
|
50
50
|
segments:
|
@@ -55,9 +55,25 @@ dependencies:
|
|
55
55
|
type: :runtime
|
56
56
|
version_requirements: *id002
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
58
|
+
name: bunny-ext
|
59
59
|
prerelease: false
|
60
60
|
requirement: &id003 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - "="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
hash: 5
|
66
|
+
segments:
|
67
|
+
- 0
|
68
|
+
- 6
|
69
|
+
- 1
|
70
|
+
version: 0.6.1
|
71
|
+
type: :runtime
|
72
|
+
version_requirements: *id003
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: redis
|
75
|
+
prerelease: false
|
76
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
61
77
|
none: false
|
62
78
|
requirements:
|
63
79
|
- - "="
|
@@ -69,11 +85,11 @@ dependencies:
|
|
69
85
|
- 4
|
70
86
|
version: 2.0.4
|
71
87
|
type: :runtime
|
72
|
-
version_requirements: *
|
88
|
+
version_requirements: *id004
|
73
89
|
- !ruby/object:Gem::Dependency
|
74
90
|
name: amqp
|
75
91
|
prerelease: false
|
76
|
-
requirement: &
|
92
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
77
93
|
none: false
|
78
94
|
requirements:
|
79
95
|
- - ">="
|
@@ -85,11 +101,11 @@ dependencies:
|
|
85
101
|
- 7
|
86
102
|
version: 0.6.7
|
87
103
|
type: :runtime
|
88
|
-
version_requirements: *
|
104
|
+
version_requirements: *id005
|
89
105
|
- !ruby/object:Gem::Dependency
|
90
106
|
name: activesupport
|
91
107
|
prerelease: false
|
92
|
-
requirement: &
|
108
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
93
109
|
none: false
|
94
110
|
requirements:
|
95
111
|
- - ~>
|
@@ -101,11 +117,11 @@ dependencies:
|
|
101
117
|
- 4
|
102
118
|
version: 2.3.4
|
103
119
|
type: :runtime
|
104
|
-
version_requirements: *
|
120
|
+
version_requirements: *id006
|
105
121
|
- !ruby/object:Gem::Dependency
|
106
122
|
name: daemons
|
107
123
|
prerelease: false
|
108
|
-
requirement: &
|
124
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
109
125
|
none: false
|
110
126
|
requirements:
|
111
127
|
- - ">="
|
@@ -117,11 +133,11 @@ dependencies:
|
|
117
133
|
- 10
|
118
134
|
version: 1.0.10
|
119
135
|
type: :runtime
|
120
|
-
version_requirements: *
|
136
|
+
version_requirements: *id007
|
121
137
|
- !ruby/object:Gem::Dependency
|
122
138
|
name: mocha
|
123
139
|
prerelease: false
|
124
|
-
requirement: &
|
140
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
125
141
|
none: false
|
126
142
|
requirements:
|
127
143
|
- - ">="
|
@@ -131,11 +147,11 @@ dependencies:
|
|
131
147
|
- 0
|
132
148
|
version: "0"
|
133
149
|
type: :development
|
134
|
-
version_requirements: *
|
150
|
+
version_requirements: *id008
|
135
151
|
- !ruby/object:Gem::Dependency
|
136
152
|
name: rcov
|
137
153
|
prerelease: false
|
138
|
-
requirement: &
|
154
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
139
155
|
none: false
|
140
156
|
requirements:
|
141
157
|
- - ">="
|
@@ -145,11 +161,11 @@ dependencies:
|
|
145
161
|
- 0
|
146
162
|
version: "0"
|
147
163
|
type: :development
|
148
|
-
version_requirements: *
|
164
|
+
version_requirements: *id009
|
149
165
|
- !ruby/object:Gem::Dependency
|
150
166
|
name: cucumber
|
151
167
|
prerelease: false
|
152
|
-
requirement: &
|
168
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
153
169
|
none: false
|
154
170
|
requirements:
|
155
171
|
- - ">="
|
@@ -161,11 +177,11 @@ dependencies:
|
|
161
177
|
- 2
|
162
178
|
version: 0.7.2
|
163
179
|
type: :development
|
164
|
-
version_requirements: *
|
180
|
+
version_requirements: *id010
|
165
181
|
- !ruby/object:Gem::Dependency
|
166
182
|
name: daemon_controller
|
167
183
|
prerelease: false
|
168
|
-
requirement: &
|
184
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
169
185
|
none: false
|
170
186
|
requirements:
|
171
187
|
- - ">="
|
@@ -175,7 +191,7 @@ dependencies:
|
|
175
191
|
- 0
|
176
192
|
version: "0"
|
177
193
|
type: :development
|
178
|
-
version_requirements: *
|
194
|
+
version_requirements: *id011
|
179
195
|
description: A highly available, reliable messaging infrastructure
|
180
196
|
email: developers@xing.com
|
181
197
|
executables:
|
@@ -218,7 +234,6 @@ files:
|
|
218
234
|
- lib/beetle/redis_server_info.rb
|
219
235
|
- lib/beetle/subscriber.rb
|
220
236
|
- lib/beetle.rb
|
221
|
-
- lib/ext/qrack/client.rb
|
222
237
|
- features/README.rdoc
|
223
238
|
- features/redis_auto_failover.feature
|
224
239
|
- features/step_definitions/redis_auto_failover_steps.rb
|
@@ -242,7 +257,6 @@ files:
|
|
242
257
|
- test/beetle/client_test.rb
|
243
258
|
- test/beetle/configuration_test.rb
|
244
259
|
- test/beetle/deduplication_store_test.rb
|
245
|
-
- test/beetle/ext_test.rb
|
246
260
|
- test/beetle/handler_test.rb
|
247
261
|
- test/beetle/message_test.rb
|
248
262
|
- test/beetle/publisher_test.rb
|
@@ -296,7 +310,6 @@ test_files:
|
|
296
310
|
- test/beetle/client_test.rb
|
297
311
|
- test/beetle/configuration_test.rb
|
298
312
|
- test/beetle/deduplication_store_test.rb
|
299
|
-
- test/beetle/ext_test.rb
|
300
313
|
- test/beetle/handler_test.rb
|
301
314
|
- test/beetle/message_test.rb
|
302
315
|
- test/beetle/publisher_test.rb
|
data/lib/ext/qrack/client.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'qrack/client'
|
2
|
-
|
3
|
-
unless Qrack::Client.instance_methods.include?("socket_with_reliable_timeout")
|
4
|
-
module Qrack
|
5
|
-
class Client
|
6
|
-
# overwrite the timeout method so that SystemTimer is used
|
7
|
-
# instead the standard timeout.rb: http://ph7spot.com/musings/system-timer
|
8
|
-
delegate :timeout, :to => Beetle::Timer
|
9
|
-
|
10
|
-
def socket_with_reliable_timeout
|
11
|
-
socket_without_reliable_timeout
|
12
|
-
|
13
|
-
secs = Integer(CONNECT_TIMEOUT)
|
14
|
-
usecs = Integer((CONNECT_TIMEOUT - secs) * 1_000_000)
|
15
|
-
optval = [secs, usecs].pack("l_2")
|
16
|
-
|
17
|
-
begin
|
18
|
-
@socket.setsockopt Socket::SOL_SOCKET, Socket::SO_RCVTIMEO, optval
|
19
|
-
@socket.setsockopt Socket::SOL_SOCKET, Socket::SO_SNDTIMEO, optval
|
20
|
-
rescue Errno::ENOPROTOOPT
|
21
|
-
end
|
22
|
-
@socket
|
23
|
-
end
|
24
|
-
alias_method_chain :socket, :reliable_timeout
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
data/test/beetle/ext_test.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
2
|
-
|
3
|
-
|
4
|
-
class QrackClientExtTest < Test::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
Qrack::Client.any_instance.stubs(:create_channel).returns(nil)
|
7
|
-
@client = Qrack::Client.new
|
8
|
-
end
|
9
|
-
|
10
|
-
|
11
|
-
test "should use system-timer for reliable timeouts" do
|
12
|
-
Beetle::Timer.expects(:timeout)
|
13
|
-
@client.send :timeout, 1, 1 do
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
test "should set send/receive timeouts on the socket" do
|
18
|
-
socket_mock = mock("socket")
|
19
|
-
@client.instance_variable_set(:@socket, socket_mock)
|
20
|
-
@client.stubs(:socket_without_reliable_timeout)
|
21
|
-
|
22
|
-
socket_mock.expects(:setsockopt).with(Socket::SOL_SOCKET, Socket::SO_RCVTIMEO, anything)
|
23
|
-
socket_mock.expects(:setsockopt).with(Socket::SOL_SOCKET, Socket::SO_SNDTIMEO, anything)
|
24
|
-
@client.send(:socket)
|
25
|
-
end
|
26
|
-
end
|