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