t.i.i.IConsumer(Interface) : interface documentation

Part of twisted.internet.interfaces View Source View In Hierarchy

Known subclasses: twisted.protocols.ftp.IFinishableConsumer

Known implementations: twisted.internet._dumbwin32proc.Process, twisted.internet._pollingfile._PollableWritePipe, twisted.internet._posixstdio.StandardIO, twisted.internet._win32stdio.StandardIO, twisted.internet.abstract.FileDescriptor, twisted.internet.iocpreactor.abstract.FileHandle, twisted.internet.protocol.ProtocolToConsumerAdapter, twisted.mail.maildir._MaildirMailboxAppendMessageTask, twisted.protocols.ftp.DTP, twisted.protocols.ftp.FileConsumer, twisted.protocols.loopback._LoopbackTransport, twisted.protocols.loopback.LoopbackRelay, twisted.protocols.pcp.BasicProducerConsumerProxy, twisted.spread.util.FilePager, twisted.web._newclient.ChunkedEncoder, twisted.web.http.Request

A consumer consumes data from a producer.
Method registerProducer Register to receive data from a producer.
Method unregisterProducer Stop consuming data from a producer, without disconnecting.
Method write The producer will write data by calling this method.
def registerProducer(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.

ParametersstreamingTrue if producer provides IPushProducer, False if producer provides IPullProducer. (type: bool)
RaisesRuntimeErrorIf a producer is already registered.
def unregisterProducer(): (source)
Stop consuming data from a producer, without disconnecting.
def write(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.

API Documentation for Twisted, generated by pydoctor at 2013-04-03 11:20:05.