Class: OFPortNumber

Inherits:
BinData::Primitive
  • Object
show all
Defined in:
lib/structs/port_number.rb

Constant Summary collapse

NUMBERS =
{
  in_port: 0xfff8,
  table: 0xfff9,
  normal: 0xfffa,
  flood: 0xfffb,
  all: 0xfffc,
  controller: 0xfffd,
  local: 0xfffe,
  none: 0xffff
}
MAX =
0xff00

Instance Method Summary collapse

Instance Method Details

#getObject



19
20
21
22
23
# File 'lib/structs/port_number.rb', line 19

def get
  NUMBERS.invert.fetch(port_number)
rescue KeyError
  port_number
end

#set(value) ⇒ Object



25
26
27
28
29
30
# File 'lib/structs/port_number.rb', line 25

def set(value)
  self.port_number = NUMBERS.fetch(value)
rescue KeyError
  raise ArgumentError, 'Invalid port number.' unless (0..MAX).include? value
  self.port_number = value
end