autobahn.websocket.compress_base¶
Classes¶
Base class for WebSocket compression negotiated parameters. |
|
Base class for WebSocket compression parameter client offers. |
|
Base class for WebSocket compression parameter client offer accepts by the server. |
|
Base class for WebSocket compression parameter server responses. |
|
Base class for WebSocket compression parameter server response accepts by client. |
Module Contents¶
- class PerMessageCompress[source]¶
Base class for WebSocket compression negotiated parameters.
Concrete subclasses (one per permessage-compress extension) implement the decompression interface used by the WebSocket protocol:
start_decompress_message(self)decompress_message_data(self, data, max_output_len=None)end_decompress_message(self)
Bounded-decompression contract for
decompress_message_data: whenmax_output_lenis notNone, the call returns at mostmax_output_lenoctets of decompressed output and raisesautobahn.exception.PayloadExceededErrorif the input would produce more - it never silently truncates.max_output_len=None(the default) leaves decompression unbounded. Every backend stops decompressing near the budget, instead of inflating a whole frame first: deflate and bzip2 at exactly one octet over it, brotli at its library’s output buffer granularity, and snappy within one framing chunk (at most 64 KiB).Input that cannot be decompressed (corrupt, truncated, or not the extension’s format) raises
autobahn.exception.PayloadCorruptErrorfromdecompress_message_dataorend_decompress_message, never the library’s own exception.
- class PerMessageCompressOffer[source]¶
Base class for WebSocket compression parameter client offers.
- class PerMessageCompressOfferAccept[source]¶
Base class for WebSocket compression parameter client offer accepts by the server.