Sha256: c76a286c990fbd80034ab3572285214d9d73b245f840e8b20a2376216a0ffe65

Contents?: true

Size: 649 Bytes

Versions: 2

Compression:

Stored size: 649 Bytes

Contents

module DCell
  # Proxy object for actors that live on remote nodes
  class CellProxy < Celluloid::CellProxy; 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
      @proxy = Celluloid::ActorProxy.new(@thread, @mailbox)
    end
    attr_reader :mailbox, :thread, :subject, :proxy
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
dcell-0.16.1 lib/dcell/actor_proxy.rb
stn-dcell-0.16.0 lib/dcell/actor_proxy.rb