class Roby::Transaction::ReachabilityPlanVisitor

Attributes

plan_set[R]
transaction_seeds[R]

Public Class Methods

new(graph, transaction, transaction_seeds, plan_set) click to toggle source
# File lib/roby/transaction.rb, line 1007
def initialize(graph, transaction, transaction_seeds, plan_set)
    super(graph, transaction)
    @transaction_seeds = transaction_seeds
    @plan_set = plan_set
end

Public Instance Methods

follow_edge?(u, v) click to toggle source
# File lib/roby/transaction.rb, line 1013
def follow_edge?(u, v)
    if transaction.find_local_object_for_task(u) && transaction.find_local_object_for_task(v)
        false
    else true
    end
end
handle_examine_vertex(v) click to toggle source
# File lib/roby/transaction.rb, line 1020
def handle_examine_vertex(v)
    if (start_vertex != v) && plan_set.include?(v)
        throw :reachable, true
    elsif proxy = transaction.find_local_object_for_task(v)
        transaction_seeds << proxy
    end
end