Files
godot-docs-l10n/classes/ru/class_streampeergzip.rst

105 lines
7.7 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

: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 (Нет возвращаемого значения.)`