mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-13 06:42:35 +00:00
36 lines
705 B
Ruby
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
|