class PackServ::IOUnpacker
Public Class Methods
each_from(io, proto) { |unpack| ... }
click to toggle source
# File lib/packserv/io_unpacker.rb, line 4 def each_from(io, proto) iou = IOUnpacker.new(io, proto) loop do frame = iou.get_frame break if frame.empty? yield(MessagePack.unpack(frame)) end end
new(io, proto)
click to toggle source
# File lib/packserv/io_unpacker.rb, line 17 def initialize(io, proto) @proto = proto @io = io end
Public Instance Methods
get_frame()
click to toggle source
# File lib/packserv/io_unpacker.rb, line 22 def get_frame @io.read(get_frame_length) end
Private Instance Methods
get_frame_length()
click to toggle source
# File lib/packserv/io_unpacker.rb, line 28 def get_frame_length @io.read(@proto::HEADER_LENGTH).then { |g| g.nil? ? '' : g }.to_i(16) end