Class: DRb::DRbConn
- Inherits:
-
Object
- Object
- DRb::DRbConn
- Defined in:
- lib/drb/drb_conn.rb
Constant Summary collapse
- POOL_SIZE =
16
Instance Attribute Summary collapse
-
#uri ⇒ Object
readonly
Returns the value of attribute uri.
Class Method Summary collapse
Instance Method Summary collapse
- #alive? ⇒ Boolean
- #close ⇒ Object
-
#initialize(remote_uri) ⇒ DRbConn
constructor
A new instance of DRbConn.
- #send_message(ref, msg_id, arg, b, &callback) ⇒ Object
Constructor Details
#initialize(remote_uri) ⇒ DRbConn
Returns a new instance of DRbConn.
16 17 18 19 |
# File 'lib/drb/drb_conn.rb', line 16 def initialize(remote_uri) @uri = remote_uri @protocol = DRbProtocol.open(remote_uri, DRb::default_config) end |
Instance Attribute Details
#uri ⇒ Object (readonly)
Returns the value of attribute uri.
20 21 22 |
# File 'lib/drb/drb_conn.rb', line 20 def uri @uri end |
Class Method Details
.open(remote_uri) {|conn| ... } ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/drb/drb_conn.rb', line 6 def self.open(remote_uri) conn = @pool[remote_uri] unless conn&.alive? conn = self.new(remote_uri) @pool[remote_uri] = conn end yield(conn) end |
Instance Method Details
#alive? ⇒ Boolean
33 34 35 36 |
# File 'lib/drb/drb_conn.rb', line 33 def alive? return false unless @protocol @protocol.alive? end |
#close ⇒ Object
28 29 30 31 |
# File 'lib/drb/drb_conn.rb', line 28 def close @protocol.close @protocol = nil end |
#send_message(ref, msg_id, arg, b, &callback) ⇒ Object
22 23 24 25 26 |
# File 'lib/drb/drb_conn.rb', line 22 def (ref, msg_id, arg, b, &callback) @protocol.send_request(ref, msg_id, arg, b) do |stream| callback.call(@protocol.recv_reply(stream)) end end |