Class: OpenFlow::Protocol::PortNumber

Inherits:
BinData::Primitive
  • Object
show all
Defined in:
lib/openflow-protocol/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



35
36
37
38
39
# File 'lib/openflow-protocol/structs/port_number.rb', line 35

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

#set(value) ⇒ Object



41
42
43
44
45
46
# File 'lib/openflow-protocol/structs/port_number.rb', line 41

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