Нет; Но я не думаю, что это ограничительно. Может быть, вы хотите вставить пример кода, где вы описываете свои ограничения, и мы можем помочь.
Для работы с данными чанка вы просто yield
чанки:
def application(environ, start_response):
start_response('200 OK', [('Content-type', 'text/plain')]
yield 'Chunk 1\n'
yield 'Chunk 2\n'
yield 'Chunk 3\n'
for chunk in chunk_data_generator():
yield chunk
def chunk_data_generator()
yield 'Chunk 4\n'
yield 'Chunk 5\n'
РЕДАКТИРОВАТЬ : На основании приведенных вами комментариев пример накопления данных до определенной длины перед отправкой вперед:
BUFFER_SIZE = 10 # 10 bytes for testing. Use something bigger
def application(environ, start_response):
start_response('200 OK', [('Content-type', 'text/plain')]
buffer = []
size = 0
for chunk in chunk_generator():
buffer.append(chunk)
size += len(chunk)
if size > BUFFER_SIZE:
for buf in buffer:
yield buf
buffer = []
size = 0
def chunk_data_generator()
yield 'Chunk 1\n'
yield 'Chunk 2\n'
yield 'Chunk 3\n'
yield 'Chunk 4\n'
yield 'Chunk 5\n'