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