Cargo Features

lakers-shared has no features set by default.

[dependencies]
lakers-shared = { version = "0.8.0", features = ["python-bindings", "large_buffers", "max_message_size_len_256", "max_message_size_len_384", "max_message_size_len_512", "max_message_size_len_1024", "max_kdf_content_len_320", "max_kdf_content_len_448", "max_kdf_content_len_512", "max_kdf_content_len_1024", "max_buffer_len_384", "max_buffer_len_512", "max_buffer_len_1024", "max_connid_encoded_len_24", "log", "defmt"] }
python-bindings = hex, pyo3
large_buffers = max_buffer_len_1024, max_connid_encoded_len_24, max_kdf_content_len_1024, max_message_size_len_1024

For all arbitrarily limited buffers, pick the maximum.

This provides an easy way to allow unconstrained systems to stomach larger sizes (especially for experimentation).

max_message_size_len_256

Precise control of MAX_MESSAGE_SIZE_LEN.

If any of those is set, they override the default of 192. If multiple are set, the highest wins.

max_message_size_len_320 max_message_size_len_384
max_message_size_len_448 max_message_size_len_512
max_message_size_len_1024 large_buffers?
max_kdf_content_len_320

Precise control of MAX_KDF_CONTENT_LEN.

If any of those is set, they override the default of 256. If multiple are set, the highest wins.

max_kdf_content_len_384 max_kdf_content_len_448
max_kdf_content_len_512
max_kdf_content_len_1024 large_buffers?
max_buffer_len_384

Precise control of MAX_BUFFER_LEN.

If any of those is set, they override the default of 320. If multiple are set, the highest wins.

max_buffer_len_448 max_buffer_len_512
max_buffer_len_1024 large_buffers?
max_connid_encoded_len_24 large_buffers?

Control of MAX_CONNID_ENCODED_LEN.

If this is not set, the minimum sensible default (8 bytes) is used.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

pyo3 python-bindings?

Enables pyo3 ^0.22

hex python-bindings?
log implicit feature

Enables log

log:

A lightweight logging facade for Rust

defmt implicit feature