Module message

Module message 

Source
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§

BatteryLevelCmdV2
Battery level request
BatteryLevelReadingV2
Battery level response
ClientDeviceMessageAttributesV1
ClientDeviceMessageAttributesV2
ClientDeviceMessageAttributesV3
ClientDeviceMessageAttributesV3Builder
ClientGenericDeviceMessageAttributesV3
DeviceAddedV0
DeviceAddedV1
DeviceAddedV2
DeviceAddedV3
Notification that a device has been found and connected to the server.
DeviceAddedV4
Notification that a device has been found and connected to the server.
DeviceFeature
DeviceFeatureActuator
DeviceFeatureRaw
DeviceFeatureSensor
DeviceListV0
DeviceListV1
DeviceListV2
DeviceListV3
List of all devices currently connected to the server.
DeviceListV4
List of all devices currently connected to the server.
DeviceMessageInfoV0
DeviceMessageInfoV1
DeviceMessageInfoV2
DeviceMessageInfoV3
Substructure of device messages, used for attribute information (name, messages supported, etc…)
DeviceMessageInfoV4
Substructure of device messages, used for attribute information (name, messages supported, etc…)
DeviceRemovedV0
ErrorV0
Represents the Buttplug Protocol Error message, as documented in the Buttplug Protocol Spec.
FleshlightLaunchFW12CmdV0
KiirooCmdV0
Kiiroo Command (Version 0 Message, Deprecated in spec)
LinearCmdV1
LinearCmdV4
LogV0
Log message received from server (Version 1 Message, Deprecated)
LovenseCmdV0
Lovense specific commands (Version 0 Message, Deprecated)
NullDeviceMessageAttributesV1
OkV0
Ok message, signifying successful response to a command. Spec link.
PingV0
RSSILevelCmdV2
RSSILevelReadingV2
RawDeviceMessageAttributesV2
RawReadCmdV2
RawReadingV2
RawSubscribeCmdV2
RawUnsubscribeCmdV2
RawWriteCmdV2
RequestDeviceListV0
RequestLogV0
RequestServerInfoV1
RotateCmdV1
RotateCmdV4
RotationSubcommandV1
RotationSubcommandV4
ScalarCmdV3
ScalarCmdV4
ScalarSubcommandV3
Generic command for setting a level (single magnitude value) of a device feature.
ScalarSubcommandV4
Generic command for setting a level (single magnitude value) of a device feature.
ScanningFinishedV0
SensorDeviceMessageAttributesV3
SensorReadCmdV3
SensorReadCmdV4
SensorReadingV3
SensorReadingV4
SensorSubscribeCmdV3
SensorSubscribeCmdV4
SensorUnsubscribeCmdV3
SensorUnsubscribeCmdV4
ServerInfoV0
ServerInfoV2
SingleMotorVibrateCmdV0
StartScanningV0
StopAllDevicesV0
StopDeviceCmdV0
StopScanningV0
TestV0
VectorSubcommandV1
Move device to a certain position in a certain amount of time
VectorSubcommandV4
Move device to a certain position in a certain amount of time
VibrateCmdV1
VibrateSubcommandV1
VorzeA10CycloneCmdV0

Enums§

ActuatorType
ButtplugActuatorFeatureMessageType
ButtplugClientMessageV0
Represents all client-to-server messages in v0 of the Buttplug Spec
ButtplugClientMessageV1
Represents all client-to-server messages in v1 of the Buttplug Spec
ButtplugClientMessageV2
Represents all client-to-server messages in v2 of the Buttplug Spec
ButtplugClientMessageV3
Represents all client-to-server messages in v3 of the Buttplug Spec
ButtplugClientMessageV4
Represents all client-to-server messages in v3 of the Buttplug Spec
ButtplugClientMessageVariant
ButtplugDeviceCommandMessageUnion
Represents all possible device command message types.
ButtplugDeviceManagerMessageUnion
Represents messages that should go to the [DeviceManager][crate::server::device_manager::DeviceManager] of a ButtplugServer
ButtplugDeviceMessageType
Used in [MessageAttributes][crate::core::messages::DeviceMessageAttributes] for denoting message capabilties.
ButtplugMessageSpecVersion
Enum of possible Buttplug Message Spec versions.
ButtplugRawFeatureMessageType
ButtplugSensorFeatureMessageType
ButtplugServerDeviceMessage
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.
ButtplugServerMessageV0
Represents all server-to-client messages in v0 of the Buttplug Spec
ButtplugServerMessageV1
Represents all server-to-client messages in v2 of the Buttplug Spec
ButtplugServerMessageV2
Represents all server-to-client messages in v2 of the Buttplug Spec
ButtplugServerMessageV3
Represents all server-to-client messages in v3 of the Buttplug Spec
ButtplugServerMessageV4
Represents all server-to-client messages in v3 of the Buttplug Spec
ButtplugServerMessageVariant
Endpoint
Endpoint names for device communication.
ErrorCode
Error codes pertaining to error classes that can be represented in the Buttplug [Error] message.
FeatureType
LogLevel
Log Levels (Version 1 Message, Deprecated)
SensorType

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§

ButtplugDeviceMessage
Adds device index handling to the ButtplugMessage trait.
ButtplugMessage
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…
ButtplugMessageFinalizer
ButtplugMessageValidator
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§

ButtplugClientMessageCurrent
Type alias for the latest version of client-to-server messages.
ButtplugServerMessageCurrent
Type alias for the latest version of server-to-client messages.