class SDN::Message::Move

Move in momentary mode

Constants

DIRECTION
MSG
PARAMS_LENGTH
SPEED

Attributes

direction[R]
duration[R]
speed[R]

Public Class Methods

new(dest = nil, direction = :cancel, duration: nil, speed: :up, **kwargs) click to toggle source
Calls superclass method SDN::Message::new
# File lib/sdn/message/control.rb, line 53
 def initialize(dest = nil, direction = :cancel, duration: nil, speed: :up, **kwargs)
   kwargs[:dest] ||= dest
   super(**kwargs)
   self.direction = direction
   self.duration = duration
   self.speed = speed
end

Public Instance Methods

direction=(value) click to toggle source
# File lib/sdn/message/control.rb, line 70
def direction=(value)
   raise ArgumentError, "direction must be one of :down, :up, or :cancel (#{value})" unless DIRECTION.keys.include?(value)
   @direction = value
end
duration=(value) click to toggle source
# File lib/sdn/message/control.rb, line 75
def duration=(value)
   raise ArgumentError, "duration must be in range 0x0a to 0xff (#{value})" if value && (value < 0x0a || value > 0xff)
   @duration = value
end
params() click to toggle source
# File lib/sdn/message/control.rb, line 85
def params
  transform_param(DIRECTION[direction]) +
    transform_param(duration || 0) +
    transform_param(SPEED[speed])
end
parse(params) click to toggle source
Calls superclass method SDN::Message::parse
# File lib/sdn/message/control.rb, line 61
def parse(params)
  super
  self.direction = DIRECTION.invert[to_number(params[0])]
  duration = to_number(params[1])
  duration = nil if duration == 0
  self.duration = duration
  self.speed = SPEED.invert[to_number(params[3])]
end
speed=(value) click to toggle source
# File lib/sdn/message/control.rb, line 80
def speed=(value)
   raise ArgumentError, "speed must be one of :up, :down, or :slow (#{value})" unless SPEED.keys.include?(value)
   @speed = speed
 end