Sha256: 0c19bf3c74fe630046e1fe102e048aff04ee25ecaf308d1a70c26d7e8964f2a3
Contents?: true
Size: 537 Bytes
Versions: 1
Compression:
Stored size: 537 Bytes
Contents
require 'timeout' module PbActor class BasicProxy def initialize origin, pid, wr, rd @origin, @pid, @wr, @rd = origin, pid, wr, rd end def alive? !Process.waitpid @pid, Process::WNOHANG rescue Errno::ECHILD => e false end def method_missing method, *args, &blk raise ArgumentError, 'actor not support block' if blk raise DeadActorError, 'dead actor call' unless alive? end def to_s "#{self.class}(#{@origin.class})" end undef send, public_send end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pb_actor-0.0.4 | lib/pb_actor/basic_proxy.rb |