class Lib::DHCP::Option57

Public Class Methods

new(message_size) click to toggle source
Calls superclass method Lib::DHCP::Option::new
# File lib/lib/dhcp/options/option57.rb, line 16
def initialize(message_size)
  # raise ArgumentError, "Minimal message size is 576. #{message_size} given" unless message_size.to_i >= 576
  super MAX_MESSAGE_SIZE, message_size.to_i
end

Private Class Methods

unpack(oid, len, payload) click to toggle source
# File lib/lib/dhcp/options/option57.rb, line 39
def self.unpack(oid, len, payload)
  raise ArgumentError, "OID Mismatch for #{NAME[oid]} - #{oid}" unless oid.to_i == MAX_MESSAGE_SIZE
  raise ArgumentError, "Wrong #{NAME[oid]} length - #{len}" unless len == 2

  message_size = payload.unpack('n').first.to_i

  #raise ArgumentError, "Minimal message size is 576. #{message_size} given" unless message_size.to_i >= 576

  self.new message_size

end

Public Instance Methods

len() click to toggle source
# File lib/lib/dhcp/options/option57.rb, line 25
def len
  2
end
max_message_size=(message_size)
Alias for: payload=
pack() click to toggle source
# File lib/lib/dhcp/options/option57.rb, line 21
def pack
  [@oid, 2, @payload.to_i].pack('C2n')
end
payload=(message_size) click to toggle source
# File lib/lib/dhcp/options/option57.rb, line 29
def payload=(message_size)
  # raise ArgumentError, "Minimal message size is 576. #{message_size} given" unless message_size.to_i >= 576
  @payload = message_size.to_i
end
Also aliased as: max_message_size=