Class: SDN::Message::SetGroupAddr

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

Constant Summary collapse

MSG =
0x51
PARAMS_LENGTH =
4

Instance Attribute Summary collapse

Attributes inherited from SDN::Message

#ack_requested, #dest, #reserved, #src

Instance Method Summary collapse

Methods inherited from SDN::Message

#inspect, parse, readpartial, #serialize

Methods included from Helpers

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

Constructor Details

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

Returns a new instance of SetGroupAddr.



178
179
180
181
182
183
# File 'lib/sdn/messages/set.rb', line 178

def initialize(dest = nil, group_index = 0, 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.



176
177
178
# File 'lib/sdn/messages/set.rb', line 176

def group_address
  @group_address
end

#group_indexObject

Returns the value of attribute group_index.



176
177
178
# File 'lib/sdn/messages/set.rb', line 176

def group_index
  @group_index
end

Instance Method Details

#class_inspectObject



204
205
206
# File 'lib/sdn/messages/set.rb', line 204

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

#paramsObject



200
201
202
# File 'lib/sdn/messages/set.rb', line 200

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

#parse(params) ⇒ Object



185
186
187
188
189
# File 'lib/sdn/messages/set.rb', line 185

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