class PbActor::BasicProxy

Public Class Methods

new(origin, pid, wr, rd) click to toggle source
# File lib/pb_actor/basic_proxy.rb, line 5
def initialize origin, pid, wr, rd
  @origin, @pid, @wr, @rd = origin, pid, wr, rd
  @alive = true
end

Public Instance Methods

alive?() click to toggle source
# File lib/pb_actor/basic_proxy.rb, line 10
def alive?
  if !@alive || (!Process.waitpid @pid, Process::WNOHANG)
    @alive
  else
    @alive = false
  end
rescue Errno::ECHILD => e
  @alive = false
end
method_missing(method, *args, &blk) click to toggle source
# File lib/pb_actor/basic_proxy.rb, line 20
def method_missing method, *args, &blk
  raise ArgumentError, 'actor not support block' if blk
  raise DeadActorError, PbActor.dead_actor_msg unless alive?
end
to_s() click to toggle source
# File lib/pb_actor/basic_proxy.rb, line 25
def to_s
  "#{self.class}(#{@origin.class})"
end