Cargo Features

[dependencies]
buttplug = { version = "9.0.4", default-features = false, features = ["client", "server", "serialize-json", "websockets", "xinput-manager", "btleplug-manager", "serial-manager", "hid-manager", "lovense-dongle-manager", "lovense-connect-service-manager", "websocket-server-manager", "tokio-runtime", "wasm-bindgen-runtime", "wasm", "dummy-runtime", "unstable", "allow-unstable-v4-connections", "web-sys"] }
default = btleplug-manager, client, hid-manager, lovense-connect-service-manager, lovense-dongle-manager, serial-manager, serialize-json, server, tokio-runtime, websocket-server-manager, websockets, xinput-manager

Basic features

Enables resolve-file of jsonschema ^0.22.3

client default

Affects buttplug::client, util::in_process_client

server default btleplug-manager hid-manager lovense-connect-service-manager lovense-dongle-manager serial-manager wasm? websocket-server-manager xinput-manager

Affects buttplug::server, util::device_configuration, util::in_process_client

serialize-json default wasm? websockets

Affects connector::new_json_ws_client_connector

websockets default websocket-server-manager = rustls, serialize-json, tokio-tungstenite

Connectors

Affects connector::new_json_ws_client_connector

xinput-manager default = server

Device Communication Managers

Affects communication::xinput

btleplug-manager default = btleplug, server

Affects communication::btleplug

serial-manager default = serialport, server

Affects communication::serialport

hid-manager default = hidapi, server

Affects communication::hid

lovense-dongle-manager default = hidapi, serialport, server

Affects communication::lovense_dongle

lovense-connect-service-manager default = reqwest, server

Affects communication::lovense_connect_service

websocket-server-manager default = server, websockets

Affects communication::websocket_server

tokio-runtime default

Runtime managers

wasm-bindgen-runtime wasm?
wasm = serialize-json, server, wasm-bindgen-runtime

Enables js of uuid

dummy-runtime
unstable

Compiler config

allow-unstable-v4-connections

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.

btleplug btleplug-manager
reqwest lovense-connect-service-manager
tokio-tungstenite websockets
rustls websockets

Enables rustls

This needs to follow whatever tokio-tungstenite and reqwest expects. Right now that's 0.22, not 0.23. Remember to check in the future.

web-sys implicit feature

Enables web-sys

web-sys:

Bindings for all Web APIs, a procedurally generated crate from WebIDL

hidapi win mac linux hid-manager lovense-dongle-manager
serialport win mac linux lovense-dongle-manager serial-manager