Go to the latest version of this document.

# ``twisted`.`internet`.`interfaces`.`IPushProducer``

interface documentation

`class IPushProducer(IProducer): (source)`

Known subclasses: `twisted.web.iweb.IBodyProducer`, `twisted.internet.endpoints._IProcessTransportWithConsumerAndProducer`

Known implementations: `twisted.internet.abstract.FileDescriptor`, `twisted.internet.iocpreactor.abstract.FileHandle`, `twisted.internet.stdio.StandardIO`, `twisted.internet.testing.StringTransport`, `twisted.web._http2.H2Connection`, `twisted.web._http2.H2Stream`, `twisted.web._newclient.TransportProxyProducer`, `twisted.web.http.HTTPChannel`, `twisted.internet._pollingfile._PollableReadPipe`, `twisted.internet._producer_helpers._PullToPush`, `twisted.protocols.tls._ProducerMembrane`, `twisted.web.http._NoPushProducer`

View In Hierarchy

A push producer, also known as a streaming producer is expected to produce (write to this consumer) data on a continuous basis, unless it has been paused. A paused push producer will resume producing after its `resumeProducing()` method is called. For a push producer which is not pauseable, these functions may be noops.

Method | `pauseProducing` | Pause producing data.
Method | `resumeProducing` | Resume producing data.

Inherited from `IProducer`:

Method | `stopProducing` | Stop producing data.

def pauseProducing(): (source)

Pause producing data.

Tells a producer that it has produced too much data to process for the time being, and to stop until `resumeProducing()` is called.

def resumeProducing(): (source)

Resume producing data.

This tells a producer to re-add itself to the main loop and produce more data for its consumer.