Class: Roby::UntilGenerator
- Inherits:
-
EventGenerator
- Object
- BasicObject
- PlanObject
- EventGenerator
- Roby::UntilGenerator
- Defined in:
- lib/roby/event.rb
Overview
This event generator combines a source and a limit in a temporal pattern. The generator acts as a pass-through for the source, until the limit is itself emitted. It means that:
-
before the limit is emitted, the generator will emit each time its
source emits
-
since the point where the limit is emitted, the generator does not emit anymore
See also EventGenerator#until
Constant Summary
Constants included from Log::EventGeneratorHooks
Log::EventGeneratorHooks::HOOKS
Constants included from Log::BasicObjectHooks
Instance Attribute Summary
Attributes inherited from EventGenerator
#command, #executable, #pending, #unreachable_handlers
Attributes inherited from PlanObject
#executable, #plan, #removed_at
Attributes inherited from BasicObject
Instance Method Summary collapse
-
#initialize(source = nil, limit = nil) ⇒ UntilGenerator
constructor
Creates a until generator for the given source and limit event generators.
Methods inherited from EventGenerator
#&, #_dump, _load, #achieve_with, #add_child_object, #call, #call_handlers, #call_without_propagation, #called, #calling, #cancel, #controlable?, #default_command, #delay, #droby_dump, #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::DRobyModel::Dump
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 Transactions::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
Constructor Details
#initialize(source = nil, limit = nil) ⇒ UntilGenerator
Creates a until generator for the given source and limit event generators
916 917 918 919 920 921 922 923 924 925 926 |
# File 'lib/roby/event.rb', line 916 def initialize(source = nil, limit = nil) super() do |context| plan.remove_object(self) if plan clear_relations end if source && limit source.forward(self) limit.signal(self) end end |