Class: PcapTools::TcpStreamRebuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/pcap_tools/stream_processors/rebuilder.rb

Instance Method Summary collapse

Instance Method Details

#finalizeObject



28
29
# File 'lib/pcap_tools/stream_processors/rebuilder.rb', line 28

def finalize
end

#process_stream(stream) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/pcap_tools/stream_processors/rebuilder.rb', line 5

def process_stream stream
  out = []
  current = nil
  stream[:data].each do |packet|
    if current
      if packet[:type] == current[:type]
        current[:times] << {:offset => current[:size], :time => packet[:time]}
        current[:data] += packet[:data]
        current[:size] += packet[:size]
      else
        out << current
        current = packet.clone
        current[:times] = [{:offset => 0, :time => packet[:time]}]
      end
    else
      current = packet.clone
      current[:times] = [{:offset => 0, :time => packet[:time]}]
    end
  end
  out << current if current
  {:index => stream[:index], :data => out}
end