Package twisted :: Package flow :: Module stage :: Class Callback
[frames | no frames]

Class Callback

Instruction --+    
              |    
          Stage --+
                  |
                 Callback

Known Subclasses:
_Protocol

Converts a single-thread push interface into a pull interface.

Once this stage is constructed, its result, errback, and 
finish member variables may be called by a producer.   The
results of which can be obtained by yielding the Callback and
then calling next().   For example:

    source = flow.Callback()
    reactor.callLater(0, lambda: source.result("one"))
    reactor.callLater(.5, lambda: source.result("two"))
    reactor.callLater(1, lambda: source.finish())
    printFlow(source)

Method Summary
  __init__(self, *trap)
  __call__(self, result)
called by the producer to indicate a successful result
  _yield(self)
executed during a yield statement by previous stage
  errback(self, fail)
called by the producer in case of Failure
  finish(self)
called by producer to indicate successful stream completion
  result(self, result)
called by the producer to indicate a successful result
    Inherited from Stage
  __iter__(self)
  next(self)
return current result

Class Variable Summary
class Instruction = twisted.flow.stage.Instruction

Method Details

__call__(self, result)
(Call operator)

called by the producer to indicate a successful result

_yield(self)

executed during a yield statement by previous stage

This method is private within the scope of the flow module, it is used by one stage in the flow to ask a subsequent stage to produce its value. The result of the yield is then stored in self.result and is an instance of Failure if a problem occurred.
Overrides:
twisted.flow.base.Stage._yield (inherited documentation)

errback(self, fail)

called by the producer in case of Failure

finish(self)

called by producer to indicate successful stream completion

result(self, result)

called by the producer to indicate a successful result

Generated by Epydoc 2.0 on Sat May 15 20:08:42 2004 http://epydoc.sf.net