twisted.protocols.pcpView Source (View In Hierarchy)
Known subclasses: twisted.protocols.htb.ShapedConsumer
ProducerConsumerProxy with a finite buffer.
When my buffer fills up, I have my parent Producer pause until my buffer has room in it again.
|Method||write||The producer will write data by calling this method.|
|Method||registerProducer||Register to receive data from a producer.|
|Method||unregisterProducer||Stop consuming data from a producer, without disconnecting.|
|Method||_writeSomeData||Write as much of this data as possible.|
Inherited from BasicProducerConsumerProxy:
|Instance Variable||producer||the Producer I subscribe to. (type:
|Instance Variable||consumer||the Consumer I publish to. (type:
|Instance Variable||paused||As a Producer, am I paused? (type: bool)|
|Method||stopProducing||Stop producing data.|
The producer will write data by calling this method.
The implementation must be non-blocking and perform whatever buffering
is necessary. If the producer has provided enough data for now and it is a
the consumer may call its
Register to receive data from a producer.
This sets self to be a consumer for a producer. When this object runs out of data (as when a send(2) call on a socket succeeds in moving the last data from a userspace buffer into a kernelspace buffer), it will ask the producer to resumeProducing().
resumeProducing will be called once each time data
pauseProducing will be called whenever the write
buffer fills up and
resumeProducing will only be called when
it empties. The consumer will only call
balance a previous
pauseProducing call; the producer is
assumed to start in an un-paused state.
|Raises||RuntimeError||If a producer is already registered.|
Stop consuming data from a producer, without disconnecting.