extension-permessage-deflate.h 909 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include <zlib.h>
  2. #define DEFLATE_FRAME_COMPRESSION_LEVEL_SERVER 1
  3. #define DEFLATE_FRAME_COMPRESSION_LEVEL_CLIENT Z_DEFAULT_COMPRESSION
  4. enum arg_indexes {
  5. PMD_SERVER_NO_CONTEXT_TAKEOVER,
  6. PMD_CLIENT_NO_CONTEXT_TAKEOVER,
  7. PMD_SERVER_MAX_WINDOW_BITS,
  8. PMD_CLIENT_MAX_WINDOW_BITS,
  9. PMD_RX_BUF_PWR2,
  10. PMD_TX_BUF_PWR2,
  11. PMD_COMP_LEVEL,
  12. PMD_MEM_LEVEL,
  13. PMD_ARG_COUNT
  14. };
  15. struct lws_ext_pm_deflate_priv {
  16. z_stream rx;
  17. z_stream tx;
  18. unsigned char *buf_rx_inflated; /* RX inflated output buffer */
  19. unsigned char *buf_tx_deflated; /* TX deflated output buffer */
  20. size_t count_rx_between_fin;
  21. unsigned char args[PMD_ARG_COUNT];
  22. unsigned char tx_held[5];
  23. unsigned char rx_held;
  24. unsigned char tx_init:1;
  25. unsigned char rx_init:1;
  26. unsigned char compressed_out:1;
  27. unsigned char rx_held_valid:1;
  28. unsigned char tx_held_valid:1;
  29. unsigned char rx_append_trailer:1;
  30. unsigned char pending_tx_trailer:1;
  31. };