Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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.