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
somewhere in the dependency tree.default-features = false - 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
- encrypt_aes256ccm encrypt_aesccm?
- encrypt_aesccm encrypt = encrypt_aes128ccm, encrypt_aes256ccm
- encrypt_aes128gcm encrypt_aes256gcm encrypt_aesgcm?
- 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