class Celluloid::CellProxy - celluloid-0.16.0 Documentation

# class Celluloid::CellProxy

A proxy object returned from Celluloid::Actor.new/new_link which converts the normal Ruby method protocol into an inter-actor message protocol

### Public Class Methods

new(actor_proxy, mailbox, klass) click to toggle source
Calls superclass method

    # File lib/celluloid/proxies/cell_proxy.rb, line 8
    def initialize(actor_proxy, mailbox, klass)
      super(mailbox, klass)
      @actor_proxy  = actor_proxy
      @sync_proxy   = SyncProxy.new(mailbox, klass)
      @async_proxy  = AsyncProxy.new(mailbox, klass)
      @future_proxy = FutureProxy.new(mailbox, klass)
    end

### Public Instance Methods

__class__() click to toggle source

Used for reflecting on proxy objects themselves

    # File lib/celluloid/proxies/cell_proxy.rb, line 6
    def __class__; CellProxy; end

_send_(meth, *args, &block) click to toggle source

    # File lib/celluloid/proxies/cell_proxy.rb, line 16
    def _send_(meth, *args, &block)
      method_missing :__send__, meth, *args, &block
    end

alive?() click to toggle source

    # File lib/celluloid/proxies/cell_proxy.rb, line 50
    def alive?
      @actor_proxy.alive?
    end

async(method_name = nil, *args, &block) click to toggle source

Obtain an async proxy or explicitly invoke a named async method

    # File lib/celluloid/proxies/cell_proxy.rb, line 33
    def async(method_name = nil, *args, &block)
      if method_name
        @async_proxy.method_missing method_name, *args, &block
      else
        @async_proxy
      end
    end

future(method_name = nil, *args, &block) click to toggle source

Obtain a future proxy or explicitly invoke a named future method

    # File lib/celluloid/proxies/cell_proxy.rb, line 42
    def future(method_name = nil, *args, &block)
      if method_name
        @future_proxy.method_missing method_name, *args, &block
      else
        @future_proxy
      end
    end

inspect() click to toggle source

    # File lib/celluloid/proxies/cell_proxy.rb, line 20
    def inspect
      method_missing :inspect
    rescue DeadActorError
      "#<Celluloid::CellProxy(#{@klass}) dead>"
    end

method(name) click to toggle source

    # File lib/celluloid/proxies/cell_proxy.rb, line 26
    def method(name)
      Method.new(self, name)
    end

terminate() click to toggle source

Terminate the associated actor

    # File lib/celluloid/proxies/cell_proxy.rb, line 59
    def terminate
      @actor_proxy.terminate
    end

terminate!() click to toggle source

Terminate the associated actor asynchronously

    # File lib/celluloid/proxies/cell_proxy.rb, line 64
    def terminate!
      @actor_proxy.terminate!
    end

thread() click to toggle source

    # File lib/celluloid/proxies/cell_proxy.rb, line 54
    def thread
      @actor_proxy.thread
    end