bundesstrasse 0.0.3-java → 0.0.4-java
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/lib/bundesstrasse/device.rb +37 -0
- data/lib/bundesstrasse/devices.rb +37 -0
- data/lib/bundesstrasse/errors.rb +1 -1
- data/lib/bundesstrasse/socket.rb +1 -0
- data/lib/bundesstrasse/version.rb +1 -1
- data/lib/bundesstrasse.rb +2 -0
- metadata +25 -2
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
module Bundesstrasse
|
3
|
+
class Device
|
4
|
+
include Errors
|
5
|
+
|
6
|
+
attr_reader :frontend, :backend
|
7
|
+
def initialize(type, frontend, backend)
|
8
|
+
@type = type
|
9
|
+
@frontend = frontend
|
10
|
+
@backend = backend
|
11
|
+
end
|
12
|
+
|
13
|
+
def start
|
14
|
+
error_check do
|
15
|
+
ZMQ::LibZMQ.zmq_device(@type, @frontend.socket.socket, @backend.socket.socket)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def close!
|
22
|
+
@frontend.close
|
23
|
+
@backend.close
|
24
|
+
end
|
25
|
+
|
26
|
+
def error_check(&block)
|
27
|
+
super
|
28
|
+
rescue ZMQError => e
|
29
|
+
case e.error_code
|
30
|
+
when ZMQ::ETERM then close!
|
31
|
+
else DeviceError.raise_error(e)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
DeviceError = Class.new(ZMQError)
|
37
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Bundesstrasse
|
2
|
+
class QueueDevice < Device
|
3
|
+
def initialize(frontend, backend)
|
4
|
+
super(ZMQ::QUEUE, frontend, backend)
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.create(context)
|
8
|
+
frontend = context.socket(RouterSocket)
|
9
|
+
backend = context.socket(DealerSocket)
|
10
|
+
new(frontend, backend)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class ForwarderDevice < Device
|
15
|
+
def initialize(frontend, backend)
|
16
|
+
super(ZMQ::FORWARDER, frontend, backend)
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.create(context)
|
20
|
+
frontend = context.socket(SubSocket)
|
21
|
+
backend = context.socket(PubSocket)
|
22
|
+
new(frontend, backend)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class StreamerDevice < Device
|
27
|
+
def initialize(frontend, backend)
|
28
|
+
super(ZMQ::STREAMER, frontend, backend)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.create(context)
|
32
|
+
frontend = context.socket(PullSocket)
|
33
|
+
backend = context.socket(PushSocket)
|
34
|
+
new(frontend, backend)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/bundesstrasse/errors.rb
CHANGED
data/lib/bundesstrasse/socket.rb
CHANGED
data/lib/bundesstrasse.rb
CHANGED
metadata
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
name: bundesstrasse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.4
|
6
6
|
platform: java
|
7
7
|
authors:
|
8
8
|
- Joel Segerlind
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ffi-rzmq
|
@@ -65,6 +65,24 @@ dependencies:
|
|
65
65
|
none: false
|
66
66
|
prerelease: false
|
67
67
|
type: :development
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: rake
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: !binary |-
|
75
|
+
MA==
|
76
|
+
none: false
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: !binary |-
|
82
|
+
MA==
|
83
|
+
none: false
|
84
|
+
prerelease: false
|
85
|
+
type: :development
|
68
86
|
description: Basic ZeroMQ wrapper for JRuby
|
69
87
|
email:
|
70
88
|
- joel@kogito.se
|
@@ -74,6 +92,8 @@ extra_rdoc_files: []
|
|
74
92
|
files:
|
75
93
|
- lib/bundesstrasse.rb
|
76
94
|
- lib/bundesstrasse/context.rb
|
95
|
+
- lib/bundesstrasse/device.rb
|
96
|
+
- lib/bundesstrasse/devices.rb
|
77
97
|
- lib/bundesstrasse/errors.rb
|
78
98
|
- lib/bundesstrasse/socket.rb
|
79
99
|
- lib/bundesstrasse/sockets.rb
|
@@ -98,6 +118,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
118
|
requirements:
|
99
119
|
- - ">="
|
100
120
|
- !ruby/object:Gem::Version
|
121
|
+
segments:
|
122
|
+
- 0
|
123
|
+
hash: 2
|
101
124
|
version: !binary |-
|
102
125
|
MA==
|
103
126
|
none: false
|