autobahn.websocket.compress_base

Classes

PerMessageCompress

Base class for WebSocket compression negotiated parameters.

PerMessageCompressOffer

Base class for WebSocket compression parameter client offers.

PerMessageCompressOfferAccept

Base class for WebSocket compression parameter client offer accepts by the server.

PerMessageCompressResponse

Base class for WebSocket compression parameter server responses.

PerMessageCompressResponseAccept

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: when max_output_len is not None, the call returns at most max_output_len octets of decompressed output and raises autobahn.exception.PayloadExceededError if the input would produce more - it never silently truncates. max_output_len=None (the default) leaves decompression unbounded. Backends whose underlying library exposes an incremental output limit (deflate, bzip2) enforce the bound before fully inflating a frame; backends without one (snappy, brotli) inflate the frame (already bounded on the wire by maxFramePayloadSize) and then check, a weaker but still-clean per-frame guarantee.

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.

class PerMessageCompressResponse[source]

Base class for WebSocket compression parameter server responses.

class PerMessageCompressResponseAccept[source]

Base class for WebSocket compression parameter server response accepts by client.