Cargo Features

[dependencies]
harmony_rust_sdk = { version = "0.8.0", default-features = false, features = ["client_web", "client_native", "client_backoff", "gen_client", "gen_server", "gen_chat", "gen_auth", "gen_mediaproxy", "gen_voice", "gen_harmonytypes", "gen_sync", "gen_batch", "gen_profile", "gen_emote", "rest", "rkyv"] }
default = gen_auth, gen_batch, gen_chat, gen_emote, gen_harmonytypes, gen_mediaproxy, gen_profile, gen_sync, gen_voice, rest

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

client_web = _client_common

Enables http_wasm_client of hrpc

hrpc:

Enables the HTTP client that can compile to WASM

Affects error::InternalClientError

client_native = _client_common, tokio

Enables rustls-tls-native-roots of reqwest ^0.11 and http_hyper_client of hrpc

hrpc:

Enables the hyper HTTP client

Affects error::InternalClientError

client_backoff
gen_client _client_common?

Enables client of hrpc and hrpc-build

hrpc:

Enable common client code

gen_server

Enables server of hrpc and hrpc-build

hrpc:

Enable common server code

gen_chat default _client_common? = gen_emote, gen_harmonytypes, gen_profile, harmony_derive

Affects api::chat

gen_auth default _client_common?

Affects api::auth

gen_mediaproxy default _client_common? = gen_harmonytypes

Affects api::mediaproxy

gen_voice default _client_common?

Affects api::voice

gen_harmonytypes default _client_common? gen_chat gen_mediaproxy

Affects api::harmonytypes

gen_sync default

Affects api::sync

gen_batch default

Affects api::batch

gen_profile default gen_chat

Affects api::profile

gen_emote default gen_chat

Affects api::emote

rest default _client_common? = http, serde

Affects api::rest

_client_common client_native? client_web? = gen_auth, gen_chat, gen_client, gen_harmonytypes, gen_mediaproxy, gen_voice, reqwest, rest, tracing, urlencoding

Enables client of harmony_derive

Affects api::Endpoint.call_with, harmony_rust_sdk::client

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.

harmony_derive _client_common? gen_chat
reqwest _client_common? client_native?

Enables reqwest ^0.11

tracing _client_common?
serde rest
tokio client_native?
urlencoding _client_common?
http rest

Enables http ^0.2

rkyv implicit feature

Enables rkyv

rkyv:

Zero-copy deserialization framework for Rust