StreamPeerGZIP
Експериментальний: This class may be changed or removed in future versions.
Успадковує: StreamPeer < RefCounted < Object
Потоковий одноліток, який ручить стиснення GZIP і дефлат.
Опис
Цей клас дозволяє стискати або розпаковувати дані за допомогою GZIP/deflate у потоковому режимі. Це особливо корисно під час стиснення або розпаковування файлів, які потрібно надсилати через мережу без необхідності розподіляти їх усі в пам'яті.
Після запуску потоку через start_compression() (або start_decompression()), виклик StreamPeer.put_partial_data() для цього потоку стисне (або розпаковує) дані, записуючи їх у внутрішній буфер. Виклик StreamPeer.get_available_bytes() поверне байти, що очікують обробки, у внутрішньому буфері, а StreamPeer.get_partial_data() отримає стиснуті (або розпаковані) байти з нього. Коли потік завершиться, необхідно викликати finish(), щоб переконатися, що внутрішній буфер належним чином очищено (обов'язково викликайте StreamPeer.get_available_bytes() востаннє, щоб перевірити, чи потрібно після цього зчитати ще дані).
Методи
void |
clear() |
finish() |
|
start_compression(use_deflate: bool = false, buffer_size: int = 65535) |
|
start_decompression(use_deflate: bool = false, buffer_size: int = 65535) |
Описи методів
void clear() 🔗
Очищає цей потік, скидаючи внутрішній стан.
Фіналізує потік, стискаючи будь-які буферизовані фрагменти, що залишилися.
Викликати його потрібно лише під час стиснення.
Error start_compression(use_deflate: bool = false, buffer_size: int = 65535) 🔗
Почати потік в режим стиснення з вказаною buffer_size, якщо use_deflate є true використовує дефлат замість GZIP.
Error start_decompression(use_deflate: bool = false, buffer_size: int = 65535) 🔗
Почати потік в режимі декомпресії з вказаною buffer_size, якщо use_deflate true використовує дефлат замість GZIP.