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 Cooperator is
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 CooperativeTask
object to this Cooperator. |
| Method | _removeTask | Remove a CooperativeTask
from this Cooperator. |
| Method | _tasksWhileNotStopped | Yield all CooperativeTask
objects in a loop as long as this Cooperator'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 True 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.start
is 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 CooperativeTask
object representing this task.
| |
CooperativeTask
objects in a loop as long as this Cooperator's
termination condition has not been met.