Files
i-mic-fps/lib/networking/read_buffer.rb

30 lines
589 B
Ruby

class IMICFPS
module Networking
class ReadBuffer
def initialize
@buffer = []
end
def add(buffer, addr_info)
@buffer << { buffer: buffer, addr_info: addr_info }
end
def reconstruct_packets
packets = []
@buffer.each do |buffer, addr_info|
packet = Packet.from_stream(buffer)
if packet.valid?
@buffer.delete(buffer)
else
puts "Invalid packet: #{packet}"
@buffer.delete(buffer)
end
end
return packets
end
end
end
end