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¶
继承: 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 ( bool use_deflate=false, int buffer_size=65535 ) |
|
start_decompression ( bool use_deflate=false, int buffer_size=65535 ) |
方法说明¶
void clear ( )
清空该流,重设内部状态。
Error finish ( )
终止该流,对缓冲中剩余的数据块进行压缩或解压缩。
Error start_compression ( bool use_deflate=false, int buffer_size=65535 )
开始压缩模式的流,缓冲区大小为 buffer_size
,如果 use_deflate
为 true
则使用 deflate 而不是 GZIP。
Error start_decompression ( bool use_deflate=false, int buffer_size=65535 )
开始解压模式的流,缓冲区大小为 buffer_size
,如果 use_deflate
为 true
则使用 deflate 而不是 GZIP。