class twisted.web.client.FileBodyProducer: (source)
Implements interfaces: twisted.web.iweb.IBodyProducer
FileBodyProducer
produces bytes from an input file object incrementally and writes them to a consumer.
Since file-like objects cannot be read from in an event-driven manner, FileBodyProducer
uses a Cooperator
instance to schedule reads from the file. This process is also paused and resumed based on notifications from the IConsumer
provider being written to.
The file is closed after it has been read, or if the producer is stopped early.
Method | __init__ | Undocumented |
Instance Variable | length | length is a int indicating how many bytes in total this IBodyProducer will write to the consumer or UNKNOWN_LENGTH if this is not known in advance. |
Method | stopProducing | Permanently stop writing bytes from the file to the consumer by stopping the underlying CooperativeTask . |
Method | startProducing | No summary |
Method | pauseProducing | Temporarily suspend copying bytes from the input file to the consumer by pausing the CooperativeTask which drives that activity. |
Method | resumeProducing | Undo the effects of a previous pauseProducing and resume copying bytes to the consumer by resuming the CooperativeTask which drives the write activity. |
Instance Variable | _inputFile | Any file-like object, bytes read from which will be written to a consumer. |
Instance Variable | _cooperate | A method like Cooperator.cooperate which is used to schedule all reads. |
Instance Variable | _readSize | The number of bytes to read from _inputFile at a time. |
Method | _determineLength | Determine how many bytes can be read out of fObj (assuming it is not modified from this point on). If the determination cannot be made, return UNKNOWN_LENGTH . |
Instance Variable | _task | Undocumented |
Method | _writeloop | Return an iterator which reads one chunk of bytes from the input file and writes them to the consumer for each time it is iterated. |
length
is a int
indicating how many bytes in total this IBodyProducer
will write to the consumer or UNKNOWN_LENGTH
if this is not known in advance.
Determine how many bytes can be read out of fObj
(assuming it is not modified from this point on). If the determination cannot be made, return UNKNOWN_LENGTH
.
Permanently stop writing bytes from the file to the consumer by stopping the underlying CooperativeTask
.
Return an iterator which reads one chunk of bytes from the input file and writes them to the consumer for each time it is iterated.
Temporarily suspend copying bytes from the input file to the consumer by pausing the CooperativeTask
which drives that activity.
Undo the effects of a previous pauseProducing
and resume copying bytes to the consumer by resuming the CooperativeTask
which drives the write activity.