class PacketFu::TcpReserved
Implements the Reserved bits for TCPHeader.
Header Definition
Fixnum (1 bit) :r1 Fixnum (1 bit) :r2 Fixnum (1 bit) :r3
Public Class Methods
new(args={})
click to toggle source
Calls superclass method
# File lib/packetfu/protos/tcp/reserved.rb, line 14 def initialize(args={}) super( args[:r1] || 0, args[:r2] || 0, args[:r3] || 0) if args.kind_of? Hash end
Public Instance Methods
read(str)
click to toggle source
Reads a string to populate the object.
# File lib/packetfu/protos/tcp/reserved.rb, line 27 def read(str) force_binary(str) return self if str.nil? || str.size.zero? if 1.respond_to? :ord byte = str[0].ord else byte = str[0] end self[:r1] = byte & 0b00000100 == 0b00000100 ? 1 : 0 self[:r2] = byte & 0b00000010 == 0b00000010 ? 1 : 0 self[:r3] = byte & 0b00000001 == 0b00000001 ? 1 : 0 self end
to_i()
click to toggle source
Returns the Reserved field as an integer.
# File lib/packetfu/protos/tcp/reserved.rb, line 22 def to_i (r1.to_i << 2) + (r2.to_i << 1) + r3.to_i end