Cargo Features
[dependencies]
songbird = { version = "0.4.5", default-features = false, features = ["gateway", "driver", "rustls", "native", "twilight", "builtin-queue", "receive", "full-doc", "internals", "serenity", "simd-json"] }
- default full-doc? = driver, gateway, rustls, serenity
-
Core features
- gateway default
-
Enables async-trait, dashmap ^5, flume, once_cell, and parking_lot, sync and time of tokio
Affects
config::Config.gateway_timeout
,error::JoinError
,error::JoinResult
,songbird::join
,songbird::shards
… - driver default
-
Enables tokio-tungstenite ^0.21, tokio-util, typemap_rev, typenum, url, and uuid, aead, aes-gcm, async-trait, audiopus, byteorder, bytes, chacha20poly1305, crypto_secretbox, discortp, flume, nohash-hasher, once_cell, parking_lot, rand, reqwest ^0.11, ringbuf, rubato ^0.15, rusty_pool, serde-aux, serenity-voice-model, socket2, stream_lib ^0.4.2, streamcatcher, symphonia, and symphonia-core, fs, io-util, macros, net, process, rt, sync and time of tokio
Affects
config::Config.crypto_mode
,config::Config.mix_mode
,config::Config.preallocated_tracks
,config::Config.driver_retry
,config::Config.use_softclip
,config::Config.driver_timeout
,config::Config.codec_registry
,config::Config.format_registry
,config::Config.disposer
,config::Config.scheduler
,constants::VOICE_GATEWAY_VERSION
,constants::SAMPLE_RATE
,constants::DEFAULT_BITRATE
,constants::RTP_PROFILE_TYPE
,join::Join
,songbird::driver
,songbird::events
,songbird::input
,songbird::tracks
,config::Config.decode_mode
… - rustls default
-
Enables rustls-tls of optional reqwest ^0.11, rustls-tls of optional stream_lib ^0.4.2, rustls-tls-webpki-roots of optional tokio-tungstenite ^0.21, rustls-native-roots of optional twilight-gateway and rustls_backend of optional serenity
serenity:
Backends to pick from:
- Rustls Backends - native
-
Enables native_tls_backend of optional serenity, native of optional twilight-gateway, native-tls of optional stream_lib ^0.4.2 and optional tokio-tungstenite ^0.21 and native-tls of optional reqwest ^0.11
reqwest:
Enables native-tls specific functionality not available by default.
- twilight full-doc?
-
Enables twilight-gateway and twilight-model
Affects
shards::TwilightMap
… - builtin-queue full-doc?
-
Behaviour altering features.
- receive full-doc?
-
Enables bytes, demux and rtcp of optional discortp
Affects
mixer::MixerConnection.udp_rx
,test_impls::Listeners
,config::Config.decode_mode
,config::Config.decode_channels
,config::Config.decode_sample_rate
,config::Config.decode_state_timeout
,config::Config.playout_buffer_length
,config::Config.playout_spike_length
… - full-doc = builtin-queue, default, receive, twilight
-
Used for docgen/testing/benchmarking.
- internals
-
Enables byteorder
Affects
driver::bench_internals
…
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.
- serenity default
-
Affects
songbird::serenity
,shards::SerenitySharder
,shards::SerenityShardHandle
… - simd-json implicit feature
-
Enables simd-json ^0.13
simd-json:
High performance JSON parser based on a port of simdjson