class FileProducer:
def __init__(self, file, size, transport):
self.file = file; self.size = size
self.transport = transport # the consumer
transport.registerProducer(self, 0)
def resumeProducing(self):
self.transport.write(self.file.read(16384))
if self.file.tell() == self.size:
self.transport.unregisterProducer()
def stopProducing(self):
self.file.close()