Method: PacketFu::Write.array_to_file

Defined in:
lib/packetfu/pcap.rb

.array_to_file(args = {}) ⇒ Object Also known as: a2f

array_to_file is a largely deprecated function for writing arrays of pcaps to a file. Use PcapFile#array_to_file instead.



572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
# File 'lib/packetfu/pcap.rb', line 572

def array_to_file(args={})
  filename = args[:filename] || args[:file] || args[:out] || :nowrite
  arr = args[:arr] || args[:array] || []
  ts = args[:ts] || args[:timestamp] || args[:time_stamp] || Time.now.to_f
  ts_inc = args[:ts_inc] || args[:timestamp_increment] || args[:time_stamp_increment]
  byte_order = args[:byte_order] || args[:byteorder] || args[:endian] || args[:endianness] || :little
  append = args[:append]
  Read.set_byte_order(byte_order) if [:big, :little].include? byte_order
  pf = PcapFile.new
  pf.array_to_file(:endian => PacketFu.instance_variable_get(:@byte_order),
                   :arr => arr,
                   :ts => ts,
                   :ts_inc => ts_inc)
  if filename && filename != :nowrite
    if append
      pf.append(filename)
    else
      pf.write(filename)
    end
    return [filename,pf.to_s.size,arr.size,ts,ts_inc]
  else
    return [nil,pf.to_s.size,arr.size,ts,ts_inc]
  end

end