module Dizby::WritableStream

Public Instance Methods

dump_data(obj, error = false) click to toggle source
# File lib/dizby/stream/writable.rb, line 15
def dump_data(obj, error = false)
  @server.log.debug("dumping: #{obj.inspect}")

  if obj.is_a?(UndumpableObject)
    @server.log.debug('dumping undumpable')
    obj = make_distributed(obj, error)
  end

  str = dump_obj(obj, error)
  @server.log.debug("dumped: #{str.inspect}")

  [str.size].pack('N') + str
end
write(data) click to toggle source
# File lib/dizby/stream/writable.rb, line 11
def write(data)
  @stream.write(data)
end

Private Instance Methods

dump_obj(obj, error) click to toggle source
# File lib/dizby/stream/writable.rb, line 31
def dump_obj(obj, error)
  Marshal.dump(obj)
rescue
  @server.log.debug('rescuing and dumping pseudo-undumpable...')
  Marshal.dump(make_distributed(obj, error))
end
make_distributed(obj, error) click to toggle source
# File lib/dizby/stream/writable.rb, line 38
def make_distributed(obj, error)
  @server.make_distributed(obj, error)
end