StreamPeerGZIP

实验性: This class may be changed or removed in future versions.

继承: StreamPeer < RefCounted < Object

处理GZIP和压缩/解压缩的流对等体。

描述

此类允许以流式方式使用GZIP/😍ate压缩或解压缩数据。这在压缩或解压缩必须通过网络发送的文件时特别有用,而无需将它们全部分配到内存中。

通过start_compression()(或start_decompression())启动流后,在此流中调用StreamPeer.put_partial_data()将压缩(或解压缩)数据,将其写入内部缓冲区。调用StreamPeer.get_available_bytes()将返回内部缓冲区中待处理的字节,StreamPeer.get_partial_data()将从中检索压缩(或解压缩)的字节。当流结束时,您必须调用finish()以确保内部缓冲区被正确刷新(确保上次调用StreamPeer.get_available_bytes()以检查之后是否需要读取更多数据)。

方法

void

clear()

Error

finish()

Error

start_compression(use_deflate: bool = false, buffer_size: int = 65535)

Error

start_decompression(use_deflate: bool = false, buffer_size: int = 65535)


方法说明

void clear() 🔗

清除此流,重置内部状态。


Error finish() 🔗

完成流,压缩或解压缩任何剩余的缓冲块。


Error start_compression(use_deflate: bool = false, buffer_size: int = 65535) 🔗

使用给定的buffer_size在压缩模式下启动流,如果use_deflatetrue则使用😍ate而不是GZIP。


Error start_decompression(use_deflate: bool = false, buffer_size: int = 65535) 🔗

使用给定的buffer_size在解压模式下启动流,如果use_deflatetrue则使用泄气而不是GZIP。