Sha256: 0728d8445e12d33b13910d5fb532afd18c6884ba393fdb50a7e6d1250a5af0e0

Contents?: true

Size: 583 Bytes

Versions: 8

Compression:

Stored size: 583 Bytes

Contents

module DCell
  # Proxy object for actors that live on remote nodes
  class ActorProxy < Celluloid::ActorProxy; end

  class ThreadHandleProxy
    def kill
      raise NotImplementedError, "remote kill not supported"
    end

    def join
      raise NotImplementedError, "remote join not supported"
    end
  end

  class SubjectProxy
    def class
      "[remote]"
    end
  end

  class Actor
    def initialize(mailbox)
      @mailbox = mailbox
      @thread  = ThreadHandleProxy.new
      @subject = SubjectProxy.new
    end
    attr_reader :mailbox, :thread, :subject
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dcell-0.16.0 lib/dcell/actor_proxy.rb
dcell-0.16.0.pre lib/dcell/actor_proxy.rb
dcell-0.15.0 lib/dcell/actor_proxy.rb
dcell-0.15.0.pre lib/dcell/actor_proxy.rb
dcell-0.14.0 lib/dcell/actor_proxy.rb
dcell-0.13.0 lib/dcell/actor_proxy.rb
dcell-0.13.0.pre lib/dcell/actor_proxy.rb
dcell-0.12.0.pre lib/dcell/actor_proxy.rb