Class: Lib::DHCP::SubOption

Inherits:
Option
  • Object
show all
Defined in:
lib/lib/dhcp/options/sub_option.rb

Constant Summary

Constants inherited from Option

Option::ARP_TIMEOUT, Option::ASSOCIATED_IP, Option::BOOT_FILE_NAME, Option::BOOT_FILE_SIZE, Option::BROADCAST_ADDR, Option::CLIENT_IDENTIFIER, Option::CLIENT_LAST_TRANSACTION_TIME, Option::COOKIE_SERVER, Option::DNS_SERVER, Option::DOMAIN_NAME, Option::DO_MASK_DISCOVER, Option::DO_ROUTE_DISCOVER, Option::DUMP_FILE, Option::END_OPTION, Option::ETHERNET_ENCAPSULATION, Option::EXTENSION_PATH, Option::FINGER_SERVER, Option::HOSTNAME, Option::IMP_SERVER, Option::IP_FORWARD, Option::IP_TTL, Option::IRC_SERVER, Option::LEASE_TIME, Option::LOCAL_SUBNETS, Option::LOG_SERVER, Option::LPR_SERVER, Option::MASK_SUPPLY, Option::MAX_MESSAGE_SIZE, Option::MAX_REASSEMBLE_SIZE, Option::MESSAGE, Option::MESSAGE_TYPE, Option::MOBILE_IP_AGENT, Option::MTU_SIZE, Option::MTU_TABLE, Option::MTU_TIMEOUT, Option::NAME, Option::NAME_SERVER, Option::NBDD, Option::NBNS, Option::NETBIOS_TCP_IP, Option::NETBIOS_TCP_SCOPE, Option::NIS_DOMAIN, Option::NIS_DOMAIN_NAME, Option::NIS_SERVER, Option::NIS_SERVERS, Option::NIS_TIME_SERVER, Option::NNTP_SERVER, Option::OPTION_OVERLOAD, Option::PAD, Option::PARAMETER_REQUEST, Option::POLICY_FILTER, Option::POP3_SERVER, Option::PRIVATE, Option::QUOTE_SERVER, Option::REBIND_TIME, Option::RELAY_AGENT, Option::RENEW_TIME, Option::REQUESTED_ADDRESS, Option::RES_SERVER, Option::ROOT_PATH, Option::ROUTER, Option::ROUTER_SOLICIT, Option::SERVER_IDENTIFIER, Option::SMTP_SERVER, Option::SRC_ROUTE, Option::STATIC_ROUTE, Option::STREET_TALK_DIRECTORY_SERVER, Option::STREET_TALK_SERVER, Option::SUBNET_MASK, Option::SWAP_SERVER, Option::TCP_ALIVE_GARBAGE, Option::TCP_KEEP_ALIVE, Option::TCP_TTL, Option::TFTP_SERVER, Option::TIME_OFFSET, Option::TIME_SERVER, Option::TRAILER_ENCAPSULATION, Option::USER_CLASS, Option::VENDOR_CLASS_IDENTIFIER, Option::VENDOR_SPECIFIC, Option::WWW_SERVER, Option::XDISPLAY_MANAGER, Option::XFONT

Instance Attribute Summary

Attributes inherited from Option

#oid, #payload

Instance Method Summary collapse

Methods inherited from Option

#<=>, #initialize, unpack

Constructor Details

This class inherits a constructor from Lib::DHCP::Option

Instance Method Details

#lenObject



22
23
24
# File 'lib/lib/dhcp/options/sub_option.rb', line 22

def len
  [@payload].pack('a*').size
end

#nameObject



12
13
14
15
16
# File 'lib/lib/dhcp/options/sub_option.rb', line 12

def name
  option = self.class.name.split('::')[-2]
  sub_option = "#{self.class.name.split('::').last}#{@oid}"
  "#{option} #{sub_option}"
end

#packObject



26
27
28
# File 'lib/lib/dhcp/options/sub_option.rb', line 26

def pack
  [@oid.to_i, len.to_i, @payload].pack('C2a*')
end

#to_sObject



18
19
20
# File 'lib/lib/dhcp/options/sub_option.rb', line 18

def to_s
  @payload.unpack('C*').map{|item| item.to_i.to_s(16).rjust(2, '0') }.join(':')
end