class documentation

class twisted.protocols.pcp.BasicProducerConsumerProxy: (source)

Known subclasses: twisted.protocols.pcp.ProducerConsumerProxy

Implements interfaces: twisted.internet.interfaces.IConsumer, twisted.internet.interfaces.IProducer

View In Hierarchy

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
producer = (source)
the Producer I subscribe to.
(type: IProducer)
consumer = (source)
the Consumer I publish to.
(type: IConsumer)
paused = (source)
As a Producer, am I paused?
(type: bool)
producerIsStreaming = (source)

Undocumented

iAmStreaming = (source)

Undocumented

(type: bool)
outstandingPull = (source)

Undocumented

(type: bool)
stopped = (source)

Undocumented

(type: bool)
def __init__(self, consumer): (source)

Undocumented

_buffer = (source)

Undocumented

(type: list)
def pauseProducing(self): (source)

Undocumented

def resumeProducing(self): (source)

Undocumented

def stopProducing(self): (source)

Stop producing data.

This tells a producer that its consumer has died, so it must stop producing data for good.

def write(self, data): (source)

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.

def finish(self): (source)

Undocumented

def registerProducer(self, producer, streaming): (source)

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.

ParametersproducerUndocumented
streamingTrue if producer provides IPushProducer, False if producer provides IPullProducer.
RaisesRuntimeErrorIf a producer is already registered.
def unregisterProducer(self): (source)

Stop consuming data from a producer, without disconnecting.

def __repr__(self): (source)

Undocumented

ReturnsUndocumented (type: str)
API Documentation for Twisted, generated by pydoctor 20.12.1 at 2021-02-28 19:53:36.