Sha256: 9997e4e4531388e9fa0fb01acb68ea32cd9284444fe946d3105f78e0c1d585e9
Contents?: true
Size: 811 Bytes
Versions: 9
Compression:
Stored size: 811 Bytes
Contents
module DCell class FutureProxy def initialize(mailbox_id,node_id,node_addr) @mailbox_id = mailbox_id @node_id = node_id @node_addr = node_addr end 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 def _dump(level) "#{@mailbox_id}@#{@node_id}@#{@node_addr}" end # Loader for custom marshal format 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 end end
Version data entries
9 entries across 9 versions & 2 rubygems