#[non_exhaustive]pub enum Error {
Show 13 variants
Bluetooth(Error),
DeviceNotFound(DeviceNotFoundReason),
NotConnected,
CharacteristicNotFound {
uuid: String,
service_count: usize,
},
InvalidData(String),
InvalidHistoryData {
message: String,
param: Option<HistoryParam>,
expected: usize,
actual: usize,
},
InvalidReadingFormat {
expected: usize,
actual: usize,
},
Timeout {
operation: String,
duration: Duration,
},
Cancelled,
Io(Error),
ConnectionFailed {
device_id: Option<String>,
reason: ConnectionFailureReason,
},
WriteFailed {
uuid: String,
reason: String,
},
InvalidConfig(String),
}Expand description
Errors that can occur when communicating with Aranet devices.
This enum is marked #[non_exhaustive] to allow adding new error variants
in future versions without breaking downstream code.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Bluetooth(Error)
Bluetooth Low Energy error.
DeviceNotFound(DeviceNotFoundReason)
Device not found during scan or connection.
NotConnected
Operation attempted while not connected to device.
CharacteristicNotFound
Required BLE characteristic not found on device.
Fields
InvalidData(String)
Failed to parse data received from device.
InvalidHistoryData
Invalid history data format.
Fields
param: Option<HistoryParam>The history parameter being downloaded.
InvalidReadingFormat
Invalid reading format from sensor.
Timeout
Operation timed out.
Cancelled
Operation was cancelled.
Io(Error)
I/O error.
ConnectionFailed
Connection failed with specific reason.
Fields
reason: ConnectionFailureReasonThe structured reason for the failure.
WriteFailed
Write operation failed.
InvalidConfig(String)
Invalid configuration provided.
Implementations§
Source§impl Error
impl Error
Sourcepub fn device_not_found(identifier: impl Into<String>) -> Self
pub fn device_not_found(identifier: impl Into<String>) -> Self
Create a device not found error for a specific identifier.
Sourcepub fn timeout(operation: impl Into<String>, duration: Duration) -> Self
pub fn timeout(operation: impl Into<String>, duration: Duration) -> Self
Create a timeout error with operation context.
Sourcepub fn characteristic_not_found(
uuid: impl Into<String>,
service_count: usize,
) -> Self
pub fn characteristic_not_found( uuid: impl Into<String>, service_count: usize, ) -> Self
Create a characteristic not found error.
Sourcepub fn invalid_reading(expected: usize, actual: usize) -> Self
pub fn invalid_reading(expected: usize, actual: usize) -> Self
Create an invalid reading format error.
Sourcepub fn invalid_config(message: impl Into<String>) -> Self
pub fn invalid_config(message: impl Into<String>) -> Self
Create a configuration error.
Sourcepub fn connection_failed(
device_id: Option<String>,
reason: ConnectionFailureReason,
) -> Self
pub fn connection_failed( device_id: Option<String>, reason: ConnectionFailureReason, ) -> Self
Create a connection failure with structured reason.