Class: SDN::Message::SetGroupAddr

Inherits:
SDN::Message show all
Defined in:
lib/sdn/message/set.rb

Constant Summary collapse

MSG =
0x51
PARAMS_LENGTH =
4

Instance Attribute Summary collapse

Attributes inherited from SDN::Message

#ack_requested, #dest, #node_type, #src

Instance Method Summary collapse

Methods inherited from SDN::Message

#==, expected_response?, inherited, #inspect, parse, #serialize

Methods included from Helpers

#checksum, #from_number, #from_string, #is_group_address?, #node_type_from_number, #node_type_to_number, #node_type_to_string, #parse_address, #print_address, #to_number, #to_string, #transform_param

Constructor Details

#initialize(dest = nil, group_index = 1, group_address = nil, **kwargs) ⇒ SetGroupAddr

Returns a new instance of SetGroupAddr.



37
38
39
40
41
42
# File 'lib/sdn/message/set.rb', line 37

def initialize(dest = nil, group_index = 1, group_address = nil, **kwargs)
  kwargs[:dest] ||= dest
  super(**kwargs)
  self.group_index = group_index
  self.group_address = group_address
end

Instance Attribute Details

#group_addressObject

Returns the value of attribute group_address.



35
36
37
# File 'lib/sdn/message/set.rb', line 35

def group_address
  @group_address
end

#group_indexObject

Returns the value of attribute group_index.



35
36
37
# File 'lib/sdn/message/set.rb', line 35

def group_index
  @group_index
end

Instance Method Details

#class_inspectObject



63
64
65
# File 'lib/sdn/message/set.rb', line 63

def class_inspect
  ", group_index=#{group_index.inspect}, group_address=#{group_address ? print_address(group_address) : 'nil'}"
end

#paramsObject



59
60
61
# File 'lib/sdn/message/set.rb', line 59

def params
  transform_param(group_index - 1) + transform_param(group_address || [0, 0, 0])
end

#parse(params) ⇒ Object



44
45
46
47
48
# File 'lib/sdn/message/set.rb', line 44

def parse(params)
  super
  self.group_index = to_number(params[0]) + 1
  self.group_address = transform_param(params[1..3])
end