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
则使用 deflate 而不是 GZIP。
Error start_decompression(use_deflate: bool = false, buffer_size: int = 65535) 🔗
开始解压模式的流,缓冲区大小为 buffer_size
,如果 use_deflate
为 true
则使用 deflate 而不是 GZIP。