Cargo Features

[dependencies]
smb = { version = "0.3.0", default-features = false, features = ["async", "sync", "multi_threaded", "single_threaded", "compress_pattern_v1", "compress_lz4", "compress", "encrypt_aes128ccm", "encrypt_aes256ccm", "encrypt_aesccm", "encrypt_aes256gcm", "encrypt_aesgcm", "encrypt", "sign_gmac", "sign_cmac", "sign_hmac", "sign"] }
default = async, compress, encrypt, sign

These default features are set whenever smb is added without default-features = false somewhere in the dependency tree.

async default

Threading models

Enables tokio and tokio-util

tokio:

Async

Affects multi_worker::async_backend, sync_helpers::RwLock, sync_helpers::Mutex

sync multi_threaded? single_threaded?

sync = not async: single/multi-threaded

Enables is_sync of maybe-async

Affects multi_worker::threading_backend

multi_threaded = sync
single_threaded = sync

Affects worker::single_worker, worker::WorkerImpl

compress_pattern_v1 compress

Compression

Affects compression::PatternV1Payload

compress_lz4 compress

Enables lz4_flex

Compression

compress default = compress_lz4, compress_pattern_v1
encrypt_aes128ccm encrypt_aesccm?

Encryption

Enables aead and ccm

encrypt_aes256ccm encrypt_aesccm?

Enables aead and ccm

encrypt_aesccm encrypt = encrypt_aes128ccm, encrypt_aes256ccm
encrypt_aes128gcm encrypt_aes256gcm encrypt_aesgcm?

Enables aead and aes-gcm

encrypt_aesgcm encrypt = encrypt_aes128gcm, encrypt_aes256gcm
encrypt default = encrypt_aesccm, encrypt_aesgcm
sign_gmac sign

Signing

Enables aes-gcm

sign_cmac sign

Enables cmac

sign_hmac sign
sign default = sign_cmac, sign_gmac, sign_hmac