Class: Roby::Transactions::TaskEventGenerator

Inherits:
EventGenerator show all
Defined in:
lib/roby/transactions/proxy.rb,
lib/roby/distributed/transaction.rb

Overview

Transaction proxy for Roby::TaskEventGenerator

Constant Summary

Constants included from Log::EventGeneratorHooks

Log::EventGeneratorHooks::HOOKS

Constants included from Log::BasicObjectHooks

Log::BasicObjectHooks::HOOKS

Instance Attribute Summary collapse

Attributes included from Proxy

#__getobj__, #transaction

Attributes inherited from EventGenerator

#command, #executable, #pending, #unreachable_handlers

Attributes inherited from PlanObject

#executable, #plan, #removed_at

Attributes inherited from BasicObject

#distribute

Instance Method Summary collapse

Methods inherited from EventGenerator

#commit_transaction, #executable?, #unreachable!

Methods included from Proxy

#commit_transaction, #discard_transaction, forwarder, #partition_new_old_relations, #pretty_print, proxy_class, proxy_for, #proxying?, #to_s

Methods inherited from EventGenerator

#&, #_dump, _load, #achieve_with, #add_child_object, #call, #call_handlers, #call_without_propagation, #called, #calling, #cancel, #controlable?, #default_command, #delay, #each_precondition, #emit, #emit_failed, #emit_on, #emit_without_propagation, #emitting, event_gathering, #executable?, #filter, #fired, #forward, #forward_once, #forwarding, gather_events, #if_unreachable, #initialize_copy, #last, #model, #name, #new, #on, #once, #pending?, #postpone, #postponed, #precondition, #pretty_print, #realize_with, #related_events, #related_tasks, remove_event_gathering, #signal, #signal_once, #signalling, #to_event, #unreachable!, #until, #when_unreachable, #|

Methods included from Distributed::EventNotifications

#fired, #forwarding, #signalling

Methods included from Propagation::EventPrecedenceChanged

#added_child_object, #removed_child_object

Methods included from Log::EventGeneratorHooks

#added_child_object, #called, #calling, #emitting, #fired, #forwarding, #postponed, #removed_child_object, #signalling

Methods inherited from PlanObject

#add_child_object, #apply_relation_changes, child_plan_object, #each_plan_child, #executable?, #finalized?, #forget_peer, #read_write?, #remotely_useful?, #removing_child_object, #replace_by, #replace_subplan_by, #root_object, #root_object?, #subscribed?, #update_on?, #updated_by?

Methods included from Distributed::RelationModificationHooks

#added_child_object, #removed_child_object

Methods included from PlanObjectUpdates

#adding_child_object, #removing_child_object

Methods included from DirectedRelationSupport

#add_child_object, #add_parent_object, #check_is_relation, #related_objects, #relations, #remove_child_object, #remove_children, #remove_parent_object, #remove_parents, #remove_relations

Methods inherited from BasicObject

#add_sibling_for, #distribute?, distribute?, #finalized?, #forget_peer, #has_sibling_on?, #initialize_copy, local_only, #read_write?, #remotely_useful?, #remove_sibling_for, #self_owned?, #sibling_of, #sibling_on, #subscribe, #subscribed?, #update_on?, #updated?, #updated_by?, #updated_peers

Methods included from Log::BasicObjectHooks

#added_owner, #removed_owner

Constructor Details

#initialize(object, transaction) ⇒ TaskEventGenerator

Create a new proxy representing object in transaction



187
188
189
190
# File 'lib/roby/transactions/proxy.rb', line 187

def initialize(object, transaction)
    super(object, transaction)
    @task = transaction.wrap(object.task)
end

Instance Attribute Details

#taskObject (readonly)

The transaction proxy which represents the event generator’s real task



183
184
185
# File 'lib/roby/transactions/proxy.rb', line 183

def task
  @task
end

Instance Method Details

#droby_dump(dest) ⇒ Object

Create an intermediate object which represent this task event generator in our communication with dest



436
437
438
# File 'lib/roby/distributed/transaction.rb', line 436

def droby_dump(dest)
    Roby::TaskEventGenerator::DRoby.new(controlable?, happened?, Distributed.format(task, dest), symbol)
end

#has_sibling?(peer) ⇒ Boolean

A task event generator has no remote sibling. It is always referenced through its own task.

Returns:

  • (Boolean)


194
# File 'lib/roby/transactions/proxy.rb', line 194

def has_sibling?(peer); false end