class PacketFu::Timestamp

The Timestamp class defines how Timestamps appear in libpcap files.

Header Definition

Symbol  :endian  Default: :little
Int32   :sec
Int32   :usec

Public Class Methods

new(args={}) click to toggle source
Calls superclass method
# File lib/packetfu/pcap.rb, line 111
def initialize(args={})
  set_endianness(args[:endian] ||= :little)
  init_fields(args)
  super(args[:endian], args[:sec], args[:usec])
end

Public Instance Methods

init_fields(args={}) click to toggle source

Called by initialize to set the initial fields.

# File lib/packetfu/pcap.rb, line 118
def init_fields(args={})
  args[:sec] = @int32.new(args[:sec])
  args[:usec] = @int32.new(args[:usec])
  return args
end
read(str) click to toggle source

Reads a string to populate the object.

# File lib/packetfu/pcap.rb, line 130
def read(str)
  force_binary(str)
  return self if str.nil?
  self[:sec].read str[0,4]
  self[:usec].read str[4,4]
  self
end
to_s() click to toggle source

Returns the object in string form.

# File lib/packetfu/pcap.rb, line 125
def to_s
  self.to_a[1,2].map {|x| x.to_s}.join
end