pub trait RemoteServiceProxyInterface: Send + Sync {
type DiscoverCharacteristicsResponseFut: Future<Output = Result<(Status, Vec<Characteristic>), Error>> + Send;
type ReadCharacteristicResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send;
type ReadLongCharacteristicResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send;
type WriteCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send;
type WriteLongCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send;
type ReadDescriptorResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send;
type ReadLongDescriptorResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send;
type WriteDescriptorResponseFut: Future<Output = Result<Status, Error>> + Send;
type WriteLongDescriptorResponseFut: Future<Output = Result<Status, Error>> + Send;
type ReadByTypeResponseFut: Future<Output = Result<RemoteServiceReadByTypeResult, Error>> + Send;
type NotifyCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send;
// Required methods
fn discover_characteristics(
&self,
) -> Self::DiscoverCharacteristicsResponseFut;
fn read_characteristic(
&self,
id: u64,
) -> Self::ReadCharacteristicResponseFut;
fn read_long_characteristic(
&self,
id: u64,
offset: u16,
max_bytes: u16,
) -> Self::ReadLongCharacteristicResponseFut;
fn write_characteristic(
&self,
id: u64,
value: &[u8],
) -> Self::WriteCharacteristicResponseFut;
fn write_long_characteristic(
&self,
id: u64,
offset: u16,
value: &[u8],
write_options: &WriteOptions,
) -> Self::WriteLongCharacteristicResponseFut;
fn write_characteristic_without_response(
&self,
id: u64,
value: &[u8],
) -> Result<(), Error>;
fn read_descriptor(&self, id: u64) -> Self::ReadDescriptorResponseFut;
fn read_long_descriptor(
&self,
id: u64,
offset: u16,
max_bytes: u16,
) -> Self::ReadLongDescriptorResponseFut;
fn write_descriptor(
&self,
id: u64,
value: &[u8],
) -> Self::WriteDescriptorResponseFut;
fn write_long_descriptor(
&self,
id: u64,
offset: u16,
value: &[u8],
) -> Self::WriteLongDescriptorResponseFut;
fn read_by_type(&self, uuid: &Uuid) -> Self::ReadByTypeResponseFut;
fn notify_characteristic(
&self,
id: u64,
enable: bool,
) -> Self::NotifyCharacteristicResponseFut;
}Required Associated Types§
type DiscoverCharacteristicsResponseFut: Future<Output = Result<(Status, Vec<Characteristic>), Error>> + Send
type ReadCharacteristicResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send
type ReadLongCharacteristicResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send
type WriteCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send
type WriteLongCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send
type ReadDescriptorResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send
type ReadLongDescriptorResponseFut: Future<Output = Result<(Status, Vec<u8>), Error>> + Send
type WriteDescriptorResponseFut: Future<Output = Result<Status, Error>> + Send
type WriteLongDescriptorResponseFut: Future<Output = Result<Status, Error>> + Send
type ReadByTypeResponseFut: Future<Output = Result<RemoteServiceReadByTypeResult, Error>> + Send
type NotifyCharacteristicResponseFut: Future<Output = Result<Status, Error>> + Send
Required Methods§
fn discover_characteristics(&self) -> Self::DiscoverCharacteristicsResponseFut
fn read_characteristic(&self, id: u64) -> Self::ReadCharacteristicResponseFut
fn read_long_characteristic( &self, id: u64, offset: u16, max_bytes: u16, ) -> Self::ReadLongCharacteristicResponseFut
fn write_characteristic( &self, id: u64, value: &[u8], ) -> Self::WriteCharacteristicResponseFut
fn write_long_characteristic( &self, id: u64, offset: u16, value: &[u8], write_options: &WriteOptions, ) -> Self::WriteLongCharacteristicResponseFut
fn write_characteristic_without_response( &self, id: u64, value: &[u8], ) -> Result<(), Error>
fn read_descriptor(&self, id: u64) -> Self::ReadDescriptorResponseFut
fn read_long_descriptor( &self, id: u64, offset: u16, max_bytes: u16, ) -> Self::ReadLongDescriptorResponseFut
fn write_descriptor( &self, id: u64, value: &[u8], ) -> Self::WriteDescriptorResponseFut
fn write_long_descriptor( &self, id: u64, offset: u16, value: &[u8], ) -> Self::WriteLongDescriptorResponseFut
fn read_by_type(&self, uuid: &Uuid) -> Self::ReadByTypeResponseFut
fn notify_characteristic( &self, id: u64, enable: bool, ) -> Self::NotifyCharacteristicResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".