Class: Lib::DHCP::Option122::SubOption::Option5

Inherits:
Option show all
Defined in:
lib/lib/dhcp/options/option122.rb

Constant Summary

Constants inherited from Lib::DHCP::Option

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

Instance Attribute Summary collapse

Attributes inherited from Lib::DHCP::Option

#oid

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Lib::DHCP::Option

#<=>, from_json, #len, #to_h, #to_json

Constructor Details

#initialize(nom_timeout, max_timeout, max_retries) ⇒ Option5

Returns a new instance of Option5.



214
215
216
217
218
219
# File 'lib/lib/dhcp/options/option122.rb', line 214

def initialize(nom_timeout, max_timeout, max_retries)
  @oid = 5
  @nom_timeout = nom_timeout
  @max_timeout = max_timeout
  @max_retries = max_retries
end

Instance Attribute Details

#max_retriesObject

Returns the value of attribute max_retries.



212
213
214
# File 'lib/lib/dhcp/options/option122.rb', line 212

def max_retries
  @max_retries
end

#max_timeoutObject

Returns the value of attribute max_timeout.



212
213
214
# File 'lib/lib/dhcp/options/option122.rb', line 212

def max_timeout
  @max_timeout
end

#nom_timeoutObject

Returns the value of attribute nom_timeout.



212
213
214
# File 'lib/lib/dhcp/options/option122.rb', line 212

def nom_timeout
  @nom_timeout
end

Class Method Details

.unpack(oid, len, payload) ⇒ Object

Raises:

  • (ArgumentError)


241
242
243
244
245
246
# File 'lib/lib/dhcp/options/option122.rb', line 241

def self.unpack(oid, len, payload)
  raise ArgumentError, "OID mismatch for TSP's AP-REQ/AP-REP Backoff and Retry, require 5, #{oid} given" unless oid == 5
  raise ArgumentError, "Wrong  length for TSP's AP-REQ/AP-REP Backoff and Retry = #{len}" unless len == 12
  nom_timeout, max_timeout, max_retries = payload.unpack('N3')
  self.new nom_timeout, max_timeout, max_retries
end

Instance Method Details

#nameObject



221
222
223
# File 'lib/lib/dhcp/options/option122.rb', line 221

def name
  "TSP's AP-REQ/AP-REP Backoff and Retry"
end

#packObject



237
238
239
# File 'lib/lib/dhcp/options/option122.rb', line 237

def pack
  [5, 12, @nom_timeout.to_i, @max_timeout.to_i, @max_retries.to_i].pack('C2N3')
end

#payloadObject



225
226
227
# File 'lib/lib/dhcp/options/option122.rb', line 225

def payload
  [@nom_timeout, @max_timeout, @max_retries]
end

#to_iObject



233
234
235
# File 'lib/lib/dhcp/options/option122.rb', line 233

def to_i
  nil
end

#to_sObject



229
230
231
# File 'lib/lib/dhcp/options/option122.rb', line 229

def to_s
  "#{@nom_timeout}, #{@max_timeout}, #{@max_retries}"
end