bundesstrasse 0.0.4-java → 0.0.5-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,15 +12,15 @@ module Bundesstrasse
12
12
 
13
13
  def start
14
14
  error_check do
15
- ZMQ::LibZMQ.zmq_device(@type, @frontend.socket.socket, @backend.socket.socket)
15
+ ZMQ::LibZMQ.zmq_device(@type, @frontend.pointer, @backend.pointer)
16
16
  end
17
17
  end
18
18
 
19
19
  private
20
20
 
21
21
  def close!
22
- @frontend.close
23
- @backend.close
22
+ @frontend.close!
23
+ @backend.close!
24
24
  end
25
25
 
26
26
  def error_check(&block)
@@ -1,13 +1,19 @@
1
1
  module Bundesstrasse
2
2
  class QueueDevice < Device
3
- def initialize(frontend, backend)
3
+ attr_reader :context
4
+ def initialize(context, frontend, backend)
4
5
  super(ZMQ::QUEUE, frontend, backend)
6
+ @context = context
5
7
  end
6
8
 
9
+ def create_endpoint!(options={})
10
+ @context.socket(RepSocket, options)
11
+ end
12
+
7
13
  def self.create(context)
8
14
  frontend = context.socket(RouterSocket)
9
15
  backend = context.socket(DealerSocket)
10
- new(frontend, backend)
16
+ new(context, frontend, backend)
11
17
  end
12
18
  end
13
19
 
@@ -3,7 +3,6 @@ module Bundesstrasse
3
3
  class Socket
4
4
  include Errors
5
5
 
6
- attr_reader :socket
7
6
  def initialize(socket, options={})
8
7
  @socket = socket
9
8
  setup!(options)
@@ -17,7 +16,7 @@ module Bundesstrasse
17
16
  @connected = error_check { @socket.connect(address) }
18
17
  end
19
18
 
20
- def close
19
+ def close!
21
20
  !(@connected = !error_check { @socket.close })
22
21
  end
23
22
 
@@ -30,6 +29,14 @@ module Bundesstrasse
30
29
  connected_error_check { @socket.send_string message }
31
30
  end
32
31
 
32
+ def pointer
33
+ @socket.socket
34
+ end
35
+
36
+ def connected?
37
+ @connected
38
+ end
39
+
33
40
  def self.type
34
41
  raise NotImplementedError, 'Subclasses define constant TYPE'
35
42
  end
@@ -37,7 +44,7 @@ module Bundesstrasse
37
44
  private
38
45
 
39
46
  def connected_error_check(&block)
40
- raise SocketError, 'Not connected' unless @connected
47
+ raise SocketError, 'Not connected' unless connected?
41
48
  error_check(&block)
42
49
  end
43
50
 
@@ -45,7 +52,7 @@ module Bundesstrasse
45
52
  super
46
53
  rescue ZMQError => e
47
54
  case e.error_code
48
- when ZMQ::ETERM then close && TermError.raise_error(e)
55
+ when ZMQ::ETERM then close! && TermError.raise_error(e)
49
56
  when ZMQ::EAGAIN then AgainError.raise_error(e)
50
57
  else SocketError.raise_error(e)
51
58
  end
@@ -1,3 +1,3 @@
1
1
  module Bundesstrasse
2
- VERSION = '0.0.4'.freeze
2
+ VERSION = '0.0.5'.freeze
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: bundesstrasse
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.4
5
+ version: 0.0.5
6
6
  platform: java
7
7
  authors:
8
8
  - Joel Segerlind