Part of twisted.internet.task View Source View In Hierarchy
| Method | __init__ | Create a scheduler-like object to which iterators may be added. | 
| Method | coiterate | Add an iterator to the list of iterators this Cooperatoris
currently running. | 
| Method | cooperate | Start running the given iterator as a long-running cooperative task, by calling next() on it as a periodic timed event. | 
| Method | start | Begin scheduling steps. | 
| Method | stop | Stop scheduling steps. Errback the completion Deferreds of all iterators which have been added and forget about them. | 
| Method | _addTask | Add a CooperativeTaskobject to thisCooperator. | 
| Method | _removeTask | Remove a CooperativeTaskfrom thisCooperator. | 
| Method | _tasksWhileNotStopped | Yield all CooperativeTaskobjects in a loop as long as thisCooperator's 
termination condition has not been met. | 
| Method | _tick | Run one scheduler tick. | 
| Method | _reschedule | Undocumented | 
| Parameters | terminationPredicateFactory | A no-argument callable which will be invoked at the beginning of each step and should return a no-argument callable which will return False when the step should be terminated. The default factory is time-based and allows iterators to run for 1/100th of a second at a time. | 
| scheduler | A one-argument callable which takes a no-argument callable and should invoke it at some future point. This will be used to schedule each step of this Cooperator. | |
| started | A boolean which indicates whether iterators should be stepped as soon as
they are added, or if they will be queued up until Cooperator.startis called. | 
Cooperator is
currently running.
| Parameters | doneDeferred | If specified, this will be the Deferred used as the completion deferred. It is suggested that you use the default, which creates a new Deferred for you. | 
| Returns | a Deferred that will fire when the iterator finishes. | |
| Parameters | iterator | the iterator to invoke. | 
| Returns | a CooperativeTaskobject representing this task. | |
CooperativeTask
objects in a loop as long as this Cooperator's 
termination condition has not been met.