Class: Roby::Transaction::ReachabilityPlanVisitor
- Inherits:
-
ReachabilityVisitor
- Object
- RGL::DFSVisitor
- ReachabilityVisitor
- Roby::Transaction::ReachabilityPlanVisitor
- Defined in:
- lib/roby/transaction.rb
Instance Attribute Summary collapse
-
#plan_set ⇒ Object
readonly
Returns the value of attribute plan_set.
-
#transaction_seeds ⇒ Object
readonly
Returns the value of attribute transaction_seeds.
Attributes inherited from ReachabilityVisitor
Instance Method Summary collapse
- #follow_edge?(u, v) ⇒ Boolean
- #handle_examine_vertex(v) ⇒ Object
-
#initialize(graph, transaction, transaction_seeds, plan_set) ⇒ ReachabilityPlanVisitor
constructor
A new instance of ReachabilityPlanVisitor.
Methods inherited from ReachabilityVisitor
Constructor Details
#initialize(graph, transaction, transaction_seeds, plan_set) ⇒ ReachabilityPlanVisitor
Returns a new instance of ReachabilityPlanVisitor.
1007 1008 1009 1010 1011 |
# 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 |
Instance Attribute Details
#plan_set ⇒ Object (readonly)
Returns the value of attribute plan_set.
1005 1006 1007 |
# File 'lib/roby/transaction.rb', line 1005 def plan_set @plan_set end |
#transaction_seeds ⇒ Object (readonly)
Returns the value of attribute transaction_seeds.
1004 1005 1006 |
# File 'lib/roby/transaction.rb', line 1004 def transaction_seeds @transaction_seeds end |
Instance Method Details
#follow_edge?(u, v) ⇒ Boolean
1013 1014 1015 1016 1017 1018 |
# 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) ⇒ Object
1020 1021 1022 1023 1024 1025 1026 |
# 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 |