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 start_compression(use_deflate: bool = false, buffer_size: int = 65535) 🔗
使用给定的buffer_size在压缩模式下启动流,如果use_deflate是true则使用😍ate而不是GZIP。
Error start_decompression(use_deflate: bool = false, buffer_size: int = 65535) 🔗
使用给定的buffer_size在解压模式下启动流,如果use_deflate是true则使用泄气而不是GZIP。