class Roby::Coordination::Script::TimeoutStart

Attributes

event[R]
model[R]
timeout_stop[RW]

Public Class Methods

new(model, event) click to toggle source
# File lib/roby/coordination/script.rb, line 95
def initialize(model, event)
    @model = model
    @event = event
end

Public Instance Methods

execute(script) click to toggle source
# File lib/roby/coordination/script.rb, line 100
def execute(script)
    script.root_task.execution_engine.delayed(model.seconds) do
        if !self.disabled?
            # Remove all instructions that are within the
            # timeout's scope
            if event
                event.resolve.emit
                script.jump_to(timeout_stop)
            else
                raise TimedOut.new(script.root_task, script.current_instruction), "#{script.current_instruction} timed out"
            end
        end
    end
    true
end