Class: ForeignActor::Client

Inherits:
Object
  • Object
show all
Includes:
Celluloid
Defined in:
lib/foreign_actor/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(endpoint, request_timeout = nil, reactor_name = :xs_reactor) ⇒ Client

Returns a new instance of Client.



72
73
74
75
76
77
78
79
80
81
# File 'lib/foreign_actor/client.rb', line 72

def initialize(endpoint, request_timeout = nil, reactor_name = :xs_reactor)
  @reactor_name = reactor_name
  @request_timeout = request_timeout
  @socket = Actor[@reactor_name].socket(::ZMQ::XREQ)
  rc = @socket.connect(endpoint)
  unless ::ZMQ::Util.resultcode_ok?(rc)
    raise IOError, "connect failed: #{::ZMQ::Util.error_string}"
  end

end

Instance Method Details

#async_remote_request(method, *args) ⇒ Object



88
89
90
# File 'lib/foreign_actor/client.rb', line 88

def async_remote_request(method, *args)
  Actor[@reactor_name].request(@socket, false, @request_timeout, method, *args)
end

#sync_remote_request(method, *args) ⇒ Object



83
84
85
# File 'lib/foreign_actor/client.rb', line 83

def sync_remote_request(method, *args)
  Actor[@reactor_name].request(@socket, true, @request_timeout, method, *args)
end