Cargo Features

[dependencies]
chorus = { version = "0.17.0", default-features = false, features = ["backend", "rt-multi-thread", "rt", "client", "voice", "voice_udp", "voice_gateway", "sqlx-pg-uint"] }
default = client, rt-multi-thread

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

backend = poem, sqlx, sqlx-pg-uint
rt-multi-thread default

Enables rt-multi-thread of tokio

rt

Enables rt of tokio

tokio:

Includes basic task execution capabilities

client default = flate2

Affects backends::tungstenite, backends::wasm, backends::Sink, backends::Stream, backends::WebSocketBackend, backends::Sink, backends::Stream, backends::WebSocketBackend, chorus::api, chorus::gateway, chorus::instance, chorus::ratelimiter, entities::Composite, types::Shared, chorus::voice

voice = voice_gateway, voice_udp
voice_udp voice?

Enables crypto_secretbox and discortp ^0.5.0

Affects voice::udp, voice::voice_data, backends::tokio, backends::UdpSocket, backends::UdpBackend, chorus::voice

voice_gateway voice?

Affects backends::tungstenite, backends::wasm, voice::gateway, chorus::voice

sqlx-pg-uint backend?

Enables sqlx-pg-uint ^0.7.2

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.

poem backend?
sqlx backend?

Affects chorus::UInt128, chorus::UInt64, chorus::UInt32, chorus::UInt16, chorus::UInt8, application::Application.r#type, application::Application.redirect_uris, application::Application.tags, application::Application.install_params, audit_log::AuditLogEntry.changes, audit_log::AuditLogEntry.options, channel::Channel.permission_overwrites, guild::Guild.welcome_screen, message::Message.embeds, message::Message.reactions, message::Message.activity, message::Message.message_reference, message::Message.components, message::Reaction.user_ids, role::RoleObject.tags

flate2 client