Provided by: libknet-doc_1.1-1_all bug

NAME

       knet_handle_compress - Set up packet compression.

SYNOPSIS

       #include <libknet.h>

       int knet_handle_compress(
           knet_handle_t                     knet_h,
           struct knet_handle_compress_cfg  *knet_handle_compress_cfg
       );

DESCRIPTION

       knet_handle_compress

       knet_h - pointer to knet_handle_t

       knet_handle_compress_cfg - pointer to a knet_handle_compress_cfg structure

       compress_model contains the model name. See "compress_level" for the list of accepted values. Setting the
       value to "none" disables compression.

       compress_threshold tells the transmission thread to NOT compress any packets that are  smaller  than  the
       value  indicated.  Default  100 bytes. Set to 0 to reset to the default. Set to 1 to compress everything.
       Max accepted value is KNET_MAX_PACKET_SIZE.

       compress_level is the "level" parameter for most models: zlib: 0 (no compression), 1 (minimal) .. 9  (max
       compression).  lz4:  1  (max  compression)...  9  (fastest  compression).  lz4hc: 1 (min compression) ...
       LZ4HC_MAX_CLEVEL (16) or LZ4HC_CLEVEL_MAX (12) depending on the version of lz4hc libknet was built  with.
       lzma:  0  (minimal)  .. 9 (max compression) bzip2: 1 (minimal) .. 9 (max compression) For lzo2 it selects
       the algorithm to use: 1 : lzo1x_1_compress (default) 11 : lzo1x_1_11_compress 12 : lzo1x_1_12_compress 15
       :  lzo1x_1_15_compress 999: lzo1x_999_compress Other values select the default algorithm. Please refer to
       the documentation of the respective compression library for guidance about setting this value.

       Implementation notes:

       it is possible to enable/disable compression at any time.

       nodes can be using a different compression algorithm at any time.

       knet does NOT implement the compression algorithm directly. it relies  on  external  libraries  for  this
       functionality.  Please  read  the  libraries man pages to figure out which algorithm/compression level is
       best for the data you are planning to transmit.

STRUCTURES


              struct knet_handle_compress_cfg {
                  char     compress_model[16];
                  uint32_t compress_threshold;
                  int      compress_level;
              };

RETURN VALUE

       knet_handle_compress returns 0 on success -1 on error and errno is set.  EINVAL  means  that  either  the
       model or the level are not supported.

SEE ALSO

       knet_handle_remove_datafd(3), knet_handle_get_stats(3), knet_host_add(3), knet_handle_pmtud_setfreq(3),
       knet_handle_pmtud_get(3), knet_host_get_id_by_host_name(3), knet_host_get_status(3),
       knet_link_get_pong_count(3), knet_link_get_priority(3), knet_handle_free(3),
       knet_handle_enable_sock_notify(3), knet_handle_get_datafd(3), knet_recv(3), knet_link_get_ping_timers(3),
       knet_log_get_subsystem_id(3), knet_host_remove(3), knet_host_enable_status_change_notify(3),
       knet_strtoaddr(3), knet_send(3), knet_handle_enable_pmtud_notify(3),
       knet_handle_get_transport_reconnect_interval(3), knet_link_get_enable(3), knet_link_set_priority(3),
       knet_log_set_loglevel(3), knet_handle_get_channel(3), knet_link_get_config(3),
       knet_link_get_link_list(3), knet_get_transport_list(3), knet_get_transport_id_by_name(3),
       knet_log_get_loglevel_id(3), knet_handle_new_ex(3), knet_host_set_name(3), knet_addrtostr(3),
       knet_handle_setfwd(3), knet_get_compress_list(3), knet_host_set_policy(3),
       knet_get_transport_name_by_id(3), knet_handle_enable_filter(3), knet_link_get_status(3),
       knet_handle_add_datafd(3), knet_send_sync(3), knet_log_get_loglevel_name(3), knet_host_get_host_list(3),
       knet_host_get_policy(3), knet_link_set_enable(3), knet_link_set_pong_count(3),
       knet_log_get_subsystem_name(3), knet_host_get_name_by_host_id(3), knet_link_clear_config(3),
       knet_log_get_loglevel(3), knet_handle_new(3), knet_handle_pmtud_getfreq(3), knet_handle_clear_stats(3),
       knet_link_set_config(3), knet_handle_crypto(3), knet_get_crypto_list(3),
       knet_handle_set_transport_reconnect_interval(3), knet_link_set_ping_timers(3)

COPYRIGHT

       Copyright (C) 2010-2018 Red Hat, Inc. All rights reserved.