class DCell::FutureProxy

Public Class Methods

_load(string) click to toggle source

Loader for custom marshal format

# File lib/dcell/future_proxy.rb, line 20
def self._load(string)
  mailbox_id, node_id, node_addr = string.split("@")

  if node_id == DCell.id
    future = Router.find(mailbox_id)
    raise "tried to unmarshal dead Celluloid::Future: #{mailbox_id}" unless future
    future
  else
    new(mailbox_id, node_id, node_addr)
  end
end
new(mailbox_id,node_id,node_addr) click to toggle source
# File lib/dcell/future_proxy.rb, line 3
def initialize(mailbox_id,node_id,node_addr)
  @mailbox_id = mailbox_id
  @node_id = node_id
  @node_addr = node_addr
end

Public Instance Methods

<<(message) click to toggle source
# File lib/dcell/future_proxy.rb, line 9
def <<(message)
  node = Node[@node_id]
  node = Node.new(@node_id, @node_addr) unless node
  node.async.send_message Message::Relay.new(self, message)
end
_dump(level) click to toggle source
# File lib/dcell/future_proxy.rb, line 15
def _dump(level)
  "#{@mailbox_id}@#{@node_id}@#{@node_addr}"
end