class Pione::Relay::Trampoline

Public Class Methods

new(uri, config) click to toggle source
# File lib/pione/relay/trampoline.rb, line 4
def initialize(uri, config)
  @obj = DRb::DRbObject.new_with_uri(uri)
  @protocol = TransmitterSocket.open_server(uri, config)
end

Public Instance Methods

method_missing(msg_id, *arg, &b) click to toggle source
# File lib/pione/relay/trampoline.rb, line 11
def method_missing(msg_id, *arg, &b)
  req_id = @protocol.send_request(@obj, msg_id, arg, b)
  @protocol.reader_thread
  succ, result = DRb.waiter_table.take(req_id, msg_id, arg)
  unless succ
    raise result
  end
  return result
end