mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2026-01-05 14:10:19 +03:00
105 lines
7.7 KiB
ReStructuredText
105 lines
7.7 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_StreamPeerGZIP:
|
||
|
||
StreamPeerGZIP
|
||
==============
|
||
|
||
**Экспериментальное:** This class may be changed or removed in future versions.
|
||
|
||
**Наследует:** :ref:`StreamPeer<class_StreamPeer>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
Потоковый узел, который обрабатывает сжатие/распаковку GZIP и deflate.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Описание
|
||
----------------
|
||
|
||
Этот класс позволяет сжимать или распаковывать данные с помощью GZIP/deflate в потоковом режиме. Это особенно полезно при сжатии или распаковке файлов, которые должны быть отправлены по сети без необходимости выделения их всех в памяти.
|
||
|
||
После запуска потока с помощью :ref:`start_compression()<class_StreamPeerGZIP_method_start_compression>` (или :ref:`start_decompression()<class_StreamPeerGZIP_method_start_decompression>`), вызов :ref:`StreamPeer.put_partial_data()<class_StreamPeer_method_put_partial_data>` для этого потока сожмет (или распакует) данные, записав их во внутренний буфер. Вызов :ref:`StreamPeer.get_available_bytes()<class_StreamPeer_method_get_available_bytes>` вернет ожидающие байты во внутреннем буфере, а :ref:`StreamPeer.get_partial_data()<class_StreamPeer_method_get_partial_data>` извлечет из него сжатые (или распакованные) байты. Когда поток завершится, необходимо вызвать :ref:`finish()<class_StreamPeerGZIP_method_finish>`, чтобы убедиться, что внутренний буфер правильно очищен (не забудьте вызвать :ref:`StreamPeer.get_available_bytes()<class_StreamPeer_method_get_available_bytes>` в последний раз, чтобы проверить, нужно ли считывать дополнительные данные после этого).
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методы
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`clear<class_StreamPeerGZIP_method_clear>`\ (\ ) |
|
||
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`finish<class_StreamPeerGZIP_method_finish>`\ (\ ) |
|
||
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`start_compression<class_StreamPeerGZIP_method_start_compression>`\ (\ use_deflate\: :ref:`bool<class_bool>` = false, buffer_size\: :ref:`int<class_int>` = 65535\ ) |
|
||
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`start_decompression<class_StreamPeerGZIP_method_start_decompression>`\ (\ use_deflate\: :ref:`bool<class_bool>` = false, buffer_size\: :ref:`int<class_int>` = 65535\ ) |
|
||
+---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания метода
|
||
------------------------------
|
||
|
||
.. _class_StreamPeerGZIP_method_clear:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **clear**\ (\ ) :ref:`🔗<class_StreamPeerGZIP_method_clear>`
|
||
|
||
Очищает этот поток, сбрасывая внутреннее состояние.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_StreamPeerGZIP_method_finish:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Error<enum_@GlobalScope_Error>` **finish**\ (\ ) :ref:`🔗<class_StreamPeerGZIP_method_finish>`
|
||
|
||
Завершает поток, сжимая любой оставшийся буферизованный фрагмент.
|
||
|
||
Вызвать его нужно только при сжатии.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_StreamPeerGZIP_method_start_compression:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Error<enum_@GlobalScope_Error>` **start_compression**\ (\ use_deflate\: :ref:`bool<class_bool>` = false, buffer_size\: :ref:`int<class_int>` = 65535\ ) :ref:`🔗<class_StreamPeerGZIP_method_start_compression>`
|
||
|
||
Запустить поток в режиме сжатия с заданным ``buffer_size``, если ``use_deflate`` равен ``true``, вместо GZIP будет использоваться deflate.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_StreamPeerGZIP_method_start_decompression:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Error<enum_@GlobalScope_Error>` **start_decompression**\ (\ use_deflate\: :ref:`bool<class_bool>` = false, buffer_size\: :ref:`int<class_int>` = 65535\ ) :ref:`🔗<class_StreamPeerGZIP_method_start_decompression>`
|
||
|
||
Запустить поток в режиме распаковки с заданным ``buffer_size``, если ``use_deflate`` равен ``true``, то вместо GZIP будет использоваться deflate.
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
|
||
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
||
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
|
||
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
|
||
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
|
||
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
|
||
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
|
||
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
|
||
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`
|