module Lib::DHCP::Option::Type::SubOption::ClassMethods
Public Instance Methods
unpack(oid, len, payload)
click to toggle source
# File lib/lib/dhcp/options/type/sub_option.rb, line 65 def unpack(oid, len, payload) raise ArgumentError, "Wrong Option #{Lib::DHCP::Option::NAME[oid]} length - #{len}" unless len > 0 i = 0 sub_options = [] while i < len sub_oid, sub_len = payload.unpack("@#{i}C2") sub_payload = payload.unpack("@#{i+2}a#{sub_len}").first.to_s sub_options << [sub_oid, sub_payload] i += (sub_len + 2) end self.new *sub_options end