mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-15 23:52:35 +00:00
More work on implementing networking
This commit is contained in:
30
lib/networking/read_buffer.rb
Normal file
30
lib/networking/read_buffer.rb
Normal file
@@ -0,0 +1,30 @@
|
||||
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
|
||||
Reference in New Issue
Block a user