beetle 0.2.9 → 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 -23
- data/lib/ext/qrack/client.rb +0 -27
- 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,13 +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
|
-
|
|
10
|
+
- 2
|
|
11
|
+
version: 0.2.9.2
|
|
11
12
|
platform: ruby
|
|
12
13
|
authors:
|
|
13
14
|
- Stefan Kaes
|
|
@@ -18,7 +19,7 @@ autorequire:
|
|
|
18
19
|
bindir: bin
|
|
19
20
|
cert_chain: []
|
|
20
21
|
|
|
21
|
-
date: 2010-
|
|
22
|
+
date: 2010-11-19 00:00:00 +01:00
|
|
22
23
|
default_executable: beetle
|
|
23
24
|
dependencies:
|
|
24
25
|
- !ruby/object:Gem::Dependency
|
|
@@ -43,7 +44,7 @@ dependencies:
|
|
|
43
44
|
requirement: &id002 !ruby/object:Gem::Requirement
|
|
44
45
|
none: false
|
|
45
46
|
requirements:
|
|
46
|
-
- - "
|
|
47
|
+
- - "="
|
|
47
48
|
- !ruby/object:Gem::Version
|
|
48
49
|
hash: 7
|
|
49
50
|
segments:
|
|
@@ -54,9 +55,25 @@ dependencies:
|
|
|
54
55
|
type: :runtime
|
|
55
56
|
version_requirements: *id002
|
|
56
57
|
- !ruby/object:Gem::Dependency
|
|
57
|
-
name:
|
|
58
|
+
name: bunny-ext
|
|
58
59
|
prerelease: false
|
|
59
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
|
|
60
77
|
none: false
|
|
61
78
|
requirements:
|
|
62
79
|
- - "="
|
|
@@ -68,11 +85,11 @@ dependencies:
|
|
|
68
85
|
- 4
|
|
69
86
|
version: 2.0.4
|
|
70
87
|
type: :runtime
|
|
71
|
-
version_requirements: *
|
|
88
|
+
version_requirements: *id004
|
|
72
89
|
- !ruby/object:Gem::Dependency
|
|
73
90
|
name: amqp
|
|
74
91
|
prerelease: false
|
|
75
|
-
requirement: &
|
|
92
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
|
76
93
|
none: false
|
|
77
94
|
requirements:
|
|
78
95
|
- - ">="
|
|
@@ -84,11 +101,11 @@ dependencies:
|
|
|
84
101
|
- 7
|
|
85
102
|
version: 0.6.7
|
|
86
103
|
type: :runtime
|
|
87
|
-
version_requirements: *
|
|
104
|
+
version_requirements: *id005
|
|
88
105
|
- !ruby/object:Gem::Dependency
|
|
89
106
|
name: activesupport
|
|
90
107
|
prerelease: false
|
|
91
|
-
requirement: &
|
|
108
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
|
92
109
|
none: false
|
|
93
110
|
requirements:
|
|
94
111
|
- - ~>
|
|
@@ -100,11 +117,11 @@ dependencies:
|
|
|
100
117
|
- 4
|
|
101
118
|
version: 2.3.4
|
|
102
119
|
type: :runtime
|
|
103
|
-
version_requirements: *
|
|
120
|
+
version_requirements: *id006
|
|
104
121
|
- !ruby/object:Gem::Dependency
|
|
105
122
|
name: daemons
|
|
106
123
|
prerelease: false
|
|
107
|
-
requirement: &
|
|
124
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
|
108
125
|
none: false
|
|
109
126
|
requirements:
|
|
110
127
|
- - ">="
|
|
@@ -116,11 +133,11 @@ dependencies:
|
|
|
116
133
|
- 10
|
|
117
134
|
version: 1.0.10
|
|
118
135
|
type: :runtime
|
|
119
|
-
version_requirements: *
|
|
136
|
+
version_requirements: *id007
|
|
120
137
|
- !ruby/object:Gem::Dependency
|
|
121
138
|
name: mocha
|
|
122
139
|
prerelease: false
|
|
123
|
-
requirement: &
|
|
140
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
|
124
141
|
none: false
|
|
125
142
|
requirements:
|
|
126
143
|
- - ">="
|
|
@@ -130,11 +147,11 @@ dependencies:
|
|
|
130
147
|
- 0
|
|
131
148
|
version: "0"
|
|
132
149
|
type: :development
|
|
133
|
-
version_requirements: *
|
|
150
|
+
version_requirements: *id008
|
|
134
151
|
- !ruby/object:Gem::Dependency
|
|
135
152
|
name: rcov
|
|
136
153
|
prerelease: false
|
|
137
|
-
requirement: &
|
|
154
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
|
138
155
|
none: false
|
|
139
156
|
requirements:
|
|
140
157
|
- - ">="
|
|
@@ -144,11 +161,11 @@ dependencies:
|
|
|
144
161
|
- 0
|
|
145
162
|
version: "0"
|
|
146
163
|
type: :development
|
|
147
|
-
version_requirements: *
|
|
164
|
+
version_requirements: *id009
|
|
148
165
|
- !ruby/object:Gem::Dependency
|
|
149
166
|
name: cucumber
|
|
150
167
|
prerelease: false
|
|
151
|
-
requirement: &
|
|
168
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
|
152
169
|
none: false
|
|
153
170
|
requirements:
|
|
154
171
|
- - ">="
|
|
@@ -160,11 +177,11 @@ dependencies:
|
|
|
160
177
|
- 2
|
|
161
178
|
version: 0.7.2
|
|
162
179
|
type: :development
|
|
163
|
-
version_requirements: *
|
|
180
|
+
version_requirements: *id010
|
|
164
181
|
- !ruby/object:Gem::Dependency
|
|
165
182
|
name: daemon_controller
|
|
166
183
|
prerelease: false
|
|
167
|
-
requirement: &
|
|
184
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
|
168
185
|
none: false
|
|
169
186
|
requirements:
|
|
170
187
|
- - ">="
|
|
@@ -174,7 +191,7 @@ dependencies:
|
|
|
174
191
|
- 0
|
|
175
192
|
version: "0"
|
|
176
193
|
type: :development
|
|
177
|
-
version_requirements: *
|
|
194
|
+
version_requirements: *id011
|
|
178
195
|
description: A highly available, reliable messaging infrastructure
|
|
179
196
|
email: developers@xing.com
|
|
180
197
|
executables:
|
|
@@ -217,7 +234,6 @@ files:
|
|
|
217
234
|
- lib/beetle/redis_server_info.rb
|
|
218
235
|
- lib/beetle/subscriber.rb
|
|
219
236
|
- lib/beetle.rb
|
|
220
|
-
- lib/ext/qrack/client.rb
|
|
221
237
|
- features/README.rdoc
|
|
222
238
|
- features/redis_auto_failover.feature
|
|
223
239
|
- features/step_definitions/redis_auto_failover_steps.rb
|
|
@@ -241,7 +257,6 @@ files:
|
|
|
241
257
|
- test/beetle/client_test.rb
|
|
242
258
|
- test/beetle/configuration_test.rb
|
|
243
259
|
- test/beetle/deduplication_store_test.rb
|
|
244
|
-
- test/beetle/ext_test.rb
|
|
245
260
|
- test/beetle/handler_test.rb
|
|
246
261
|
- test/beetle/message_test.rb
|
|
247
262
|
- test/beetle/publisher_test.rb
|
|
@@ -295,7 +310,6 @@ test_files:
|
|
|
295
310
|
- test/beetle/client_test.rb
|
|
296
311
|
- test/beetle/configuration_test.rb
|
|
297
312
|
- test/beetle/deduplication_store_test.rb
|
|
298
|
-
- test/beetle/ext_test.rb
|
|
299
313
|
- test/beetle/handler_test.rb
|
|
300
314
|
- test/beetle/message_test.rb
|
|
301
315
|
- test/beetle/publisher_test.rb
|
data/lib/ext/qrack/client.rb
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
require 'qrack/client'
|
|
2
|
-
|
|
3
|
-
|
|
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
|
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
|