class Celluloid::CellProxy
A proxy object returned from Celluloid::Actor.new/new_link which converts the normal Ruby method protocol into an inter-actor message protocol
Public Class Methods
new(actor_proxy, mailbox, klass)
click to toggle source
Calls superclass method
# File lib/celluloid/proxies/cell_proxy.rb, line 8 def initialize(actor_proxy, mailbox, klass) super(mailbox, klass) @actor_proxy = actor_proxy @sync_proxy = SyncProxy.new(mailbox, klass) @async_proxy = AsyncProxy.new(mailbox, klass) @future_proxy = FutureProxy.new(mailbox, klass) end
Public Instance Methods
__class__()
click to toggle source
Used for reflecting on proxy objects themselves
# File lib/celluloid/proxies/cell_proxy.rb, line 6 def __class__; CellProxy; end
_send_(meth, *args, &block)
click to toggle source
# File lib/celluloid/proxies/cell_proxy.rb, line 16 def _send_(meth, *args, &block) method_missing :__send__, meth, *args, &block end
alive?()
click to toggle source
# File lib/celluloid/proxies/cell_proxy.rb, line 50 def alive? @actor_proxy.alive? end
async(method_name = nil, *args, &block)
click to toggle source
Obtain an async proxy or explicitly invoke a named async method
# File lib/celluloid/proxies/cell_proxy.rb, line 33 def async(method_name = nil, *args, &block) if method_name @async_proxy.method_missing method_name, *args, &block else @async_proxy end end
future(method_name = nil, *args, &block)
click to toggle source
Obtain a future proxy or explicitly invoke a named future method
# File lib/celluloid/proxies/cell_proxy.rb, line 42 def future(method_name = nil, *args, &block) if method_name @future_proxy.method_missing method_name, *args, &block else @future_proxy end end
inspect()
click to toggle source
# File lib/celluloid/proxies/cell_proxy.rb, line 20 def inspect method_missing :inspect rescue DeadActorError "#<Celluloid::CellProxy(#{@klass}) dead>" end
method(name)
click to toggle source
# File lib/celluloid/proxies/cell_proxy.rb, line 26 def method(name) Method.new(self, name) end
terminate()
click to toggle source
Terminate the associated actor
# File lib/celluloid/proxies/cell_proxy.rb, line 59 def terminate @actor_proxy.terminate end
terminate!()
click to toggle source
Terminate the associated actor asynchronously
# File lib/celluloid/proxies/cell_proxy.rb, line 64 def terminate! @actor_proxy.terminate! end
thread()
click to toggle source
# File lib/celluloid/proxies/cell_proxy.rb, line 54 def thread @actor_proxy.thread end