class Lib::BOOTP::Packet::TransactionID

Public Class Methods

generate() click to toggle source
# File lib/lib/bootp/packet/transaction_id.rb, line 30
def self.generate
  new Random.rand(0xFFFFFFFF)
end
new(xid = nil) click to toggle source
# File lib/lib/bootp/packet/transaction_id.rb, line 18
def initialize(xid = nil)
  xid = generate if xid.nil?
  unless xid >= 0 && xid <= 0xFFFFFFFF
    raise ArgumentError, "Not valid XID - #{xid} - should by 4 octet length"
  end
  @xid = xid
end
unpack(xid) click to toggle source
# File lib/lib/bootp/packet/transaction_id.rb, line 47
def self.unpack(xid)
  new xid.unpack('N').first
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/lib/bootp/packet/transaction_id.rb, line 26
def <=>(other)
  self.to_i <=> other.to_i
end
generate!() click to toggle source
# File lib/lib/bootp/packet/transaction_id.rb, line 34
def generate!
  @xid = generate
  self
end
pack() click to toggle source
# File lib/lib/bootp/packet/transaction_id.rb, line 43
def pack
  [@xid.to_i].pack('N')
end
to_hex() click to toggle source
# File lib/lib/bootp/packet/transaction_id.rb, line 39
def to_hex
  @xid.to_s(16)
end

Private Instance Methods

generate() click to toggle source
# File lib/lib/bootp/packet/transaction_id.rb, line 53
def generate
  Random.rand(0xFFFFFFFF)
end