Expand description
Representations of low level Buttplug Protocol messages
The core communication types for the Buttplug protocol. There are structs for each message type, sometimes with multiple versions of the same message relating to different spec versions. There are also enum types that are used to classify messages into categories, for instance, messages that only should be sent by a client or server.
Modules§
- serializer
- Message de/serialization handling
Structs§
- Battery
Level CmdV2 - Battery level request
- Battery
Level Reading V2 - Battery level response
- Client
Device Message Attributes V1 - Client
Device Message Attributes V2 - Client
Device Message Attributes V3 - Client
Device Message Attributes V3Builder - Client
Generic Device Message Attributes V3 - Device
Added V0 - Device
Added V1 - Device
Added V2 - Device
Added V3 - Notification that a device has been found and connected to the server.
- Device
Added V4 - Notification that a device has been found and connected to the server.
- Device
Feature - Device
Feature Actuator - Device
Feature Raw - Device
Feature Sensor - Device
List V0 - Device
List V1 - Device
List V2 - Device
List V3 - List of all devices currently connected to the server.
- Device
List V4 - List of all devices currently connected to the server.
- Device
Message Info V0 - Device
Message Info V1 - Device
Message Info V2 - Device
Message Info V3 - Substructure of device messages, used for attribute information (name, messages supported, etc…)
- Device
Message Info V4 - Substructure of device messages, used for attribute information (name, messages supported, etc…)
- Device
Removed V0 - ErrorV0
- Represents the Buttplug Protocol Error message, as documented in the Buttplug Protocol Spec.
- Fleshlight
LaunchF W12Cmd V0 - Kiiroo
CmdV0 - Kiiroo Command (Version 0 Message, Deprecated in spec)
- Linear
CmdV1 - Linear
CmdV4 - LogV0
- Log message received from server (Version 1 Message, Deprecated)
- Lovense
CmdV0 - Lovense specific commands (Version 0 Message, Deprecated)
- Null
Device Message Attributes V1 - OkV0
- Ok message, signifying successful response to a command. Spec link.
- PingV0
- RSSI
Level CmdV2 - RSSI
Level Reading V2 - RawDevice
Message Attributes V2 - RawRead
CmdV2 - RawReading
V2 - RawSubscribe
CmdV2 - RawUnsubscribe
CmdV2 - RawWrite
CmdV2 - Request
Device List V0 - Request
LogV0 - Request
Server Info V1 - Rotate
CmdV1 - Rotate
CmdV4 - Rotation
Subcommand V1 - Rotation
Subcommand V4 - Scalar
CmdV3 - Scalar
CmdV4 - Scalar
Subcommand V3 - Generic command for setting a level (single magnitude value) of a device feature.
- Scalar
Subcommand V4 - Generic command for setting a level (single magnitude value) of a device feature.
- Scanning
Finished V0 - Sensor
Device Message Attributes V3 - Sensor
Read CmdV3 - Sensor
Read CmdV4 - Sensor
Reading V3 - Sensor
Reading V4 - Sensor
Subscribe CmdV3 - Sensor
Subscribe CmdV4 - Sensor
Unsubscribe CmdV3 - Sensor
Unsubscribe CmdV4 - Server
Info V0 - Server
Info V2 - Single
Motor Vibrate CmdV0 - Start
Scanning V0 - Stop
AllDevices V0 - Stop
Device CmdV0 - Stop
Scanning V0 - TestV0
- Vector
Subcommand V1 - Move device to a certain position in a certain amount of time
- Vector
Subcommand V4 - Move device to a certain position in a certain amount of time
- Vibrate
CmdV1 - Vibrate
Subcommand V1 - Vorze
A10Cyclone CmdV0
Enums§
- Actuator
Type - Buttplug
Actuator Feature Message Type - Buttplug
Client Message V0 - Represents all client-to-server messages in v0 of the Buttplug Spec
- Buttplug
Client Message V1 - Represents all client-to-server messages in v1 of the Buttplug Spec
- Buttplug
Client Message V2 - Represents all client-to-server messages in v2 of the Buttplug Spec
- Buttplug
Client Message V3 - Represents all client-to-server messages in v3 of the Buttplug Spec
- Buttplug
Client Message V4 - Represents all client-to-server messages in v3 of the Buttplug Spec
- Buttplug
Client Message Variant - Buttplug
Device Command Message Union - Represents all possible device command message types.
- Buttplug
Device Manager Message Union - Represents messages that should go to the [DeviceManager][crate::server::device_manager::DeviceManager] of a ButtplugServer
- Buttplug
Device Message Type - Used in [MessageAttributes][crate::core::messages::DeviceMessageAttributes] for denoting message capabilties.
- Buttplug
Message Spec Version - Enum of possible Buttplug Message Spec versions.
- Buttplug
RawFeature Message Type - Buttplug
Sensor Feature Message Type - Buttplug
Server Device Message - Represents all possible messages a ButtplugServer can send to a ButtplugClient that denote an EVENT from a device. These are only used in notifications, so read requests will not need to be added here, only messages that will require Id of 0.
- Buttplug
Server Message V0 - Represents all server-to-client messages in v0 of the Buttplug Spec
- Buttplug
Server Message V1 - Represents all server-to-client messages in v2 of the Buttplug Spec
- Buttplug
Server Message V2 - Represents all server-to-client messages in v2 of the Buttplug Spec
- Buttplug
Server Message V3 - Represents all server-to-client messages in v3 of the Buttplug Spec
- Buttplug
Server Message V4 - Represents all server-to-client messages in v3 of the Buttplug Spec
- Buttplug
Server Message Variant - Endpoint
- Endpoint names for device communication.
- Error
Code - Error codes pertaining to error classes that can be represented in the Buttplug [Error] message.
- Feature
Type - LogLevel
- Log Levels (Version 1 Message, Deprecated)
- Sensor
Type
Constants§
- BUTTPLUG_
CURRENT_ MESSAGE_ SPEC_ VERSION - The current latest version of the spec implemented by the library.
- BUTTPLUG_
SERVER_ EVENT_ ID - Message Id for events sent from the server, which are not in response to a client request.
Traits§
- Buttplug
Device Message - Adds device index handling to the ButtplugMessage trait.
- Buttplug
Message - Base trait for all Buttplug Protocol Message Structs. Handles management of message ids, as well as implementing conveinence functions for converting between message structs and various message enums, serialization, etc…
- Buttplug
Message Finalizer - Buttplug
Message Validator - Validation function for message contents. Can be run before message is transmitted, as message may be formed and mutated at multiple points in the library, or may need to be checked after deserialization. Message enums will run this on whatever their variant is.
Type Aliases§
- Buttplug
Client Message Current - Type alias for the latest version of client-to-server messages.
- Buttplug
Server Message Current - Type alias for the latest version of server-to-client messages.