class Celluloid::Proxy::Actor
A proxy which controls the Actor lifecycle
Attributes
mailbox[R]
thread[R]
Public Class Methods
new(mailbox, thread)
click to toggle source
# File lib/celluloid/proxy/actor.rb, line 5 def initialize(mailbox, thread) @mailbox = mailbox @thread = thread end
Public Instance Methods
alive?()
click to toggle source
# File lib/celluloid/proxy/actor.rb, line 17 def alive? @mailbox.alive? end
dead?()
click to toggle source
# File lib/celluloid/proxy/actor.rb, line 21 def dead? !alive? end
inspect()
click to toggle source
# File lib/celluloid/proxy/actor.rb, line 10 def inspect # TODO: use a system event to fetch actor state: tasks? "#<Celluloid::Proxy::Actor(#{@mailbox.address}) alive>" rescue DeadActorError "#<Celluloid::Proxy::Actor(#{@mailbox.address}) dead>" end
terminate()
click to toggle source
Terminate the associated actor
# File lib/celluloid/proxy/actor.rb, line 26 def terminate terminate! ::Celluloid::Actor.join(self) nil end
terminate!()
click to toggle source
Terminate the associated actor asynchronously
# File lib/celluloid/proxy/actor.rb, line 33 def terminate! ::Kernel.raise ::Celluloid::DeadActorError, "actor already terminated" unless alive? @mailbox << ::Celluloid::TerminationRequest.new end