class PackServ::IOPacker

Public Class Methods

new(io, proto) click to toggle source
# File lib/packserv/io_packer.rb, line 3
def initialize(io, proto)
  @proto = proto
  @io = io
end

Public Instance Methods

pack(obj) click to toggle source
# File lib/packserv/io_packer.rb, line 8
def pack(obj)
  write(MessagePack.pack(obj))
end

Private Instance Methods

frame_length(packed) click to toggle source
# File lib/packserv/io_packer.rb, line 14
def frame_length(packed)
  sprintf(@proto::HEADER_FORMAT, packed.bytesize)
end
write(packed) click to toggle source
# File lib/packserv/io_packer.rb, line 18
def write(packed)
  @io.write(frame_length(packed) + packed)
end