class SDN::Message::MoveTo
Move
to absolute position
Constants
- MSG
- PARAMS_LENGTH
- SPEED
- TARGET_TYPE
Attributes
speed[R]
target[R]
target_type[R]
Public Class Methods
new(dest= nil, target_type = :down_limit, target = nil, speed = :up, **kwargs)
click to toggle source
Calls superclass method
SDN::Message::new
# File lib/sdn/message/control.rb, line 141 def initialize(dest= nil, target_type = :down_limit, target = nil, speed = :up, **kwargs) kwargs[:dest] ||= dest super(**kwargs) self.target_type = target_type self.target = target self.speed = speed end
Public Instance Methods
params()
click to toggle source
# File lib/sdn/message/control.rb, line 171 def params transform_param(TARGET_TYPE[target_type]) + from_number(target || 0xffff, 2) + transform_param(SPEED[speed]) end
parse(params)
click to toggle source
Calls superclass method
SDN::Message::parse
# File lib/sdn/message/control.rb, line 149 def parse(params) super self.target_type = TARGET_TYPE.invert[to_number(params[0])] self.target = to_number(params[1..2], nillable: true) self.speed = SPEED.invert[to_number(params[3])] end
speed=(value)
click to toggle source
# File lib/sdn/message/control.rb, line 166 def speed=(value) raise ArgumentError, "speed must be one of :up, :down, or :slow" unless SPEED.keys.include?(value) @speed = value end
target=(value)
click to toggle source
# File lib/sdn/message/control.rb, line 161 def target=(value) value &= 0xffff if value @target = value end
target_type=(value)
click to toggle source
# File lib/sdn/message/control.rb, line 156 def target_type=(value) raise ArgumentError, "target_type must be one of :down_limit, :up_limit, :ip, :position_pulses, or :position_percent" unless TARGET_TYPE.keys.include?(value) @target_type = value end