Files
i-mic-fps/lib/networking/read_buffer.rb
2020-12-02 17:37:48 -06:00

36 lines
705 B
Ruby

# frozen_string_literal: true
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
pairs = []
@buffer.each do |hash|
buffer = hash[:buffer]
addr = hash[:addr_info]
packet = Packet.from_stream(buffer)
if true # packet.valid?
pairs << [packet, addr]
@buffer.delete(hash)
else
puts "Invalid packet: #{packet}"
@buffer.delete(buffer)
end
end
pairs
end
end
end
end