class twisted.protocols.pcp.BasicProducerConsumerProxy: (source)
Known subclasses: twisted.protocols.pcp.ProducerConsumerProxy
Implements interfaces: twisted.internet.interfaces.IConsumer, twisted.internet.interfaces.IProducer
I can act as a man in the middle between any Producer and Consumer.
Instance Variable | producer | the Producer I subscribe to. |
Instance Variable | consumer | the Consumer I publish to. |
Instance Variable | paused | As a Producer, am I paused? |
Instance Variable | producerIsStreaming | Undocumented |
Class Variable | iAmStreaming | Undocumented |
Instance Variable | outstandingPull | Undocumented |
Class Variable | stopped | Undocumented |
Method | __init__ | Undocumented |
Method | pauseProducing | Undocumented |
Method | resumeProducing | Undocumented |
Method | stopProducing | Stop producing data. |
Method | write | The producer will write data by calling this method. |
Method | finish | Undocumented |
Method | registerProducer | Register to receive data from a producer. |
Method | unregisterProducer | Stop consuming data from a producer, without disconnecting. |
Method | __repr__ | Undocumented |
Instance Variable | _buffer | Undocumented |
Undocumented
Undocumented
Undocumented
Stop producing data.
This tells a producer that its consumer has died, so it must stop producing data for good.
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 IPushProducer
, the consumer may call its pauseProducing
method.
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().
For IPullProducer
providers, resumeProducing
will be called once each time data is required.
For IPushProducer
providers, pauseProducing
will be called whenever the write buffer fills up and resumeProducing
will only be called when it empties. The consumer will only call resumeProducing
to balance a previous pauseProducing
call; the producer is assumed to start in an un-paused state.
Parameters | producer | Undocumented |
streaming | True if producer provides IPushProducer , False if producer provides IPullProducer . | |
Raises | RuntimeError | If a producer is already registered. |
Stop consuming data from a producer, without disconnecting.