Class: SDN::Message::SetNodeLabel

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

Overview

Command that writes a node's user-visible label.

Direct Known Subclasses

ILT2::SetNodeLabel

Constant Summary collapse

MSG =

Protocol message number

0x55
MAX_LENGTH =

Maximum label length, in bytes

16

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dest = nil, label = "", **kwargs) ⇒ SetNodeLabel

Creates a node label write command.

Parameters:

  • dest ((Integer, Integer, Integer), nil) (defaults to: nil)

    destination address

  • label (String) (defaults to: "")
  • kwargs (Hash)

    additional message options



412
413
414
415
416
# File 'lib/sdn/message/set.rb', line 412

def initialize(dest = nil, label = "", **kwargs)
  kwargs[:dest] ||= dest
  super(**kwargs)
  self.label = label
end

Instance Attribute Details

#labelString

Returns:

  • (String)


405
406
407
# File 'lib/sdn/message/set.rb', line 405

def label
  @label
end

Instance Method Details

#params<Integer>

Returns the protocol-specific payload bytes for this message.

Returns:

  • (<Integer>)


424
425
426
# File 'lib/sdn/message/set.rb', line 424

def params
  from_string(label, self.class::MAX_LENGTH)
end

#parse(params) ⇒ void

This method returns an undefined value.

Parses protocol-specific parameter bytes into this message instance.

Parameters:

  • params (<Integer>)

    raw parameter bytes

Raises:



419
420
421
# File 'lib/sdn/message/set.rb', line 419

def parse(params)
  self.label = to_string(params)
end