class documentation

class FilePager(Pager): (source)

Implements interfaces: twisted.internet.interfaces.IConsumer

View In Hierarchy

Reads a file in chunks and sends the chunks as they come.
Method __init__ Create a pager with a Reference to a remote collector and an optional callable to invoke upon completion.
Method register​Producer Register to receive data from a producer.
Method send​Next​Page Get the first chunk read and send it to collector.
Method start​Producing Undocumented
Method unregister​Producer Stop consuming data from a producer, without disconnecting.
Method write The producer will write data by calling this method.
Instance Variable chunks Undocumented
Instance Variable deferred Undocumented
Instance Variable producer Undocumented

Inherited from Pager:

Method next​Page Override this to return an object to be sent to my collector.
Method still​Paging (internal) Method called by Broker.
Method stop​Paging Call this when you're done paging.
Instance Variable callback Undocumented
Instance Variable callback​Args Undocumented
Instance Variable callback​Keyword Undocumented
Instance Variable collector Undocumented
Instance Variable _still​Paging Undocumented
def __init__(self, collector, fd, callback=None, *args, **kw): (source)
Create a pager with a Reference to a remote collector and an optional callable to invoke upon completion.
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.

Parameters
producerUndocumented
streamingTrue if producer provides IPushProducer, False if producer provides IPullProducer.
Raises
RuntimeErrorIf a producer is already registered.
def sendNextPage(self): (source)
Get the first chunk read and send it to collector.
def startProducing(self, fd): (source)

Undocumented

def unregisterProducer(self): (source)
Stop consuming data from a producer, without disconnecting.
def write(self, chunk): (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.

chunks: list = (source)

Undocumented

deferred = (source)

Undocumented

producer = (source)

Undocumented