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 и deflate.
Описание
Этот класс позволяет сжимать или распаковывать данные с помощью 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 будет использоваться deflate.
Error start_decompression(use_deflate: bool = false, buffer_size: int = 65535) 🔗
Запустить поток в режиме распаковки с заданным buffer_size, если use_deflate равен true, то вместо GZIP будет использоваться deflate.