class Roby::TaskStructure::ExecutionAgent

Public Class Methods

establish_agent_aborted_relation(ev) click to toggle source
# File lib/roby/task_structure/executed_by.rb, line 61
def self.establish_agent_aborted_relation(ev)
    executed_task = ev.task
    execution_agent = executed_task.execution_agent

    # The event handler will be called even if the
    # execution agent has been removed. Check that there is
    # actually an execution agent
    if execution_agent
        execution_agent.stop_event.forward_to executed_task.aborted_event
    end
end
execution_agent_failed_to_start(reason, ready_event) click to toggle source
# File lib/roby/task_structure/executed_by.rb, line 18
def self.execution_agent_failed_to_start(reason, ready_event)
    execution_agent = ready_event.task

    tasks = []
    execution_agent.each_executed_task do |task|
        tasks << task
    end

    plan = execution_agent.plan
    if !tasks.empty?
        plan.control.execution_agent_failed_to_start(execution_agent, tasks, reason)
    end
end
pending_execution_agent_failed(event) click to toggle source
# File lib/roby/task_structure/executed_by.rb, line 32
def self.pending_execution_agent_failed(event)
    execution_agent = event.task

    if execution_agent.ready?
        tasks = []
        execution_agent.each_executed_task do |task|
            tasks << task if task.pending? || task.starting?
        end
        
        plan = execution_agent.plan
        if !tasks.empty?
            plan.control.pending_executed_by_failed(execution_agent, tasks)
        end
    end
end
remove_agent_aborted_relation(ev) click to toggle source
# File lib/roby/task_structure/executed_by.rb, line 48
def self.remove_agent_aborted_relation(ev)
    executed_task = ev.task
    execution_agent = executed_task.execution_agent

    # The event handler will be called even if the
    # execution agent has been removed. Check that there is
    # actually an execution agent
    if execution_agent
        execution_agent.stop_event.remove_forwarding executed_task.aborted_event
        executed_task.remove_execution_agent execution_agent
    end
end