Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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>

home | help