FreeBSD Manual Pages
knet_handle_compress(3) Kronosnet Programmer's Manual knet_handle_compress(3) 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 struc- ture compress_model contains the model name. See "compress_level" for the list of accepted values. Setting the value to "none" disables compres- sion. 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 compres- sion)... 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 compres- sion) bzip2: 1 (minimal) .. 9 (max compression) For lzo2 it selects the algorithm to use: 1 : lzo1x_1_compress (default) 11 : lzo1x_1_11_com- press 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_add_acl(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_link_rm_acl(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_handle_enable_access_lists(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_pmtud_set(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_clear_acl(3), knet_link_set_ping_timers(3), knet_link_insert_acl(3) COPYRIGHT Copyright (C) 2010-2020 Red Hat, Inc. All rights reserved. kronosnet 2020-04-23 knet_handle_compress(3)
NAME | SYNOPSIS | DESCRIPTION | STRUCTURES | RETURN VALUE | SEE ALSO | COPYRIGHT
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=knet_handle_compress&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>