Trait ProtocolHandler
Source pub trait ProtocolHandler: Sync + Send {
Show 23 methods
// Provided methods
fn needs_full_command_set(&self) -> bool { ... }
fn has_handle_message(&self) -> bool { ... }
fn keepalive_strategy(&self) -> ProtocolKeepaliveStrategy { ... }
fn handle_message(
&self,
message: &ButtplugDeviceCommandMessageUnion,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn command_unimplemented(
&self,
command: &str,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_scalar_cmd(
&self,
commands: &[Option<(ActuatorType, u32)>],
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_scalar_vibrate_cmd(
&self,
_index: u32,
_scalar: u32,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_scalar_rotate_cmd(
&self,
_index: u32,
_scalar: u32,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_scalar_oscillate_cmd(
&self,
_index: u32,
_scalar: u32,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_scalar_inflate_cmd(
&self,
_index: u32,
_scalar: u32,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_scalar_constrict_cmd(
&self,
_index: u32,
_scalar: u32,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_scalar_position_cmd(
&self,
_index: u32,
_scalar: u32,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_vorze_a10_cyclone_cmd(
&self,
message: VorzeA10CycloneCmdV0,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_kiiroo_cmd(
&self,
message: KiirooCmdV0,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_fleshlight_launch_fw12_cmd(
&self,
message: FleshlightLaunchFW12CmdV0,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_rotate_cmd(
&self,
_commands: &[Option<(u32, bool)>],
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_linear_cmd(
&self,
message: LinearCmdV4,
) -> Result<Vec<HardwareCommand>, ButtplugDeviceError> { ... }
fn handle_sensor_subscribe_cmd(
&self,
_device: Arc<Hardware>,
_message: &SensorSubscribeCmdV4,
) -> BoxFuture<'_, Result<(), ButtplugDeviceError>> { ... }
fn handle_sensor_unsubscribe_cmd(
&self,
_device: Arc<Hardware>,
_message: &SensorUnsubscribeCmdV4,
) -> BoxFuture<'_, Result<(), ButtplugDeviceError>> { ... }
fn handle_sensor_read_cmd(
&self,
device: Arc<Hardware>,
message: &SensorReadCmdV4,
) -> BoxFuture<'_, Result<SensorReadingV4, ButtplugDeviceError>> { ... }
fn handle_battery_level_cmd(
&self,
device: Arc<Hardware>,
message: SensorReadCmdV4,
) -> BoxFuture<'_, Result<SensorReadingV4, ButtplugDeviceError>> { ... }
fn handle_rssi_level_cmd(
&self,
_device: Arc<Hardware>,
_message: RSSILevelCmdV2,
) -> BoxFuture<'_, Result<(), ButtplugDeviceError>> { ... }
fn event_stream(
&self,
) -> Pin<Box<dyn Stream<Item = ButtplugServerDeviceMessage> + Send>> { ... }
}