bundesstrasse 0.0.4-java → 0.0.5-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.
@@ -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