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