Enum AttError

Source
#[repr(u8)]
pub enum AttError {
Show 55 variants InvalidHandle = 1, ReadNotPermitted = 2, WriteNotPermitted = 3, InvalidPdu = 4, InsufficientAuthentication = 5, RequestNotSupported = 6, InvalidOffset = 7, InsufficientAuthorization = 8, PrepareQueueFull = 9, AttributeNotFound = 10, AttributeNotLong = 11, InsufficientEncryptionKeySize = 12, InvalidAttributeValueLength = 13, UnlikelyError = 14, InsufficientEncryption = 15, UnsupportedGroupType = 16, InsufficientResources = 17, DatabaseOutOfSync = 18, ValueNotAllowed = 19, ApplicationError0x80 = 128, ApplicationError0x81 = 129, ApplicationError0x82 = 130, ApplicationError0x83 = 131, ApplicationError0x84 = 132, ApplicationError0x85 = 133, ApplicationError0x86 = 134, ApplicationError0x87 = 135, ApplicationError0x88 = 136, ApplicationError0x89 = 137, ApplicationError0x8A = 138, ApplicationError0x8B = 139, ApplicationError0x8C = 140, ApplicationError0x8D = 141, ApplicationError0x8E = 142, ApplicationError0x8F = 143, ApplicationError0x90 = 144, ApplicationError0x91 = 145, ApplicationError0x92 = 146, ApplicationError0x93 = 147, ApplicationError0x94 = 148, ApplicationError0x95 = 149, ApplicationError0x96 = 150, ApplicationError0x97 = 151, ApplicationError0x98 = 152, ApplicationError0x99 = 153, ApplicationError0x9A = 154, ApplicationError0x9B = 155, ApplicationError0x9C = 156, ApplicationError0x9D = 157, ApplicationError0x9E = 158, ApplicationError0x9F = 159, WriteRequestRejected = 252, ClientCharacteristicConfigurationDescriptorImproperlyConfigured = 253, ProcedureAlreadyInProgress = 254, OutOfRange = 255,
}
Expand description

Potential error codes for the ATT Error Response. See Table 3.3 in the Bluetooth Core Specification, v4.1, Vol 3, Part F, Section 3.4.1.1 and The Bluetooth Core Specification Supplement, Table 1.1.

Variants§

§

InvalidHandle = 1

The attribute handle given was not valid on this server.

§

ReadNotPermitted = 2

The attribute cannot be read.

§

WriteNotPermitted = 3

The attribute cannot be written.

§

InvalidPdu = 4

The attribute PDU was invalid.

§

InsufficientAuthentication = 5

The attribute requires authentication before it can be read or written.

§

RequestNotSupported = 6

Attribute server does not support the request received from the client.

§

InvalidOffset = 7

Offset specified was past the end of the attribute.

§

InsufficientAuthorization = 8

The attribute requires authorization before it can be read or written.

§

PrepareQueueFull = 9

Too many prepare writes have been queued.

§

AttributeNotFound = 10

No attribute found within the given attribute handle range.

§

AttributeNotLong = 11

The attribute cannot be read or written using the Read Blob Request.

§

InsufficientEncryptionKeySize = 12

The Encryption Key Size used for encrypting this link is insufficient.

§

InvalidAttributeValueLength = 13

The attribute value length is invalid for the operation.

§

UnlikelyError = 14

The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested.

§

InsufficientEncryption = 15

The attribute requires encryption before it can be read or written.

§

UnsupportedGroupType = 16

The attribute type is not a supported grouping attribute as defined by a higher layer specification.

§

InsufficientResources = 17

Insufficient Resources to complete the request.

§

DatabaseOutOfSync = 18

Database out of sync

§

ValueNotAllowed = 19

Value not allowed

§

ApplicationError0x80 = 128

Application error code defined by a higher layer specification.

§

ApplicationError0x81 = 129

Application error code defined by a higher layer specification.

§

ApplicationError0x82 = 130

Application error code defined by a higher layer specification.

§

ApplicationError0x83 = 131

Application error code defined by a higher layer specification.

§

ApplicationError0x84 = 132

Application error code defined by a higher layer specification.

§

ApplicationError0x85 = 133

Application error code defined by a higher layer specification.

§

ApplicationError0x86 = 134

Application error code defined by a higher layer specification.

§

ApplicationError0x87 = 135

Application error code defined by a higher layer specification.

§

ApplicationError0x88 = 136

Application error code defined by a higher layer specification.

§

ApplicationError0x89 = 137

Application error code defined by a higher layer specification.

§

ApplicationError0x8A = 138

Application error code defined by a higher layer specification.

§

ApplicationError0x8B = 139

Application error code defined by a higher layer specification.

§

ApplicationError0x8C = 140

Application error code defined by a higher layer specification.

§

ApplicationError0x8D = 141

Application error code defined by a higher layer specification.

§

ApplicationError0x8E = 142

Application error code defined by a higher layer specification.

§

ApplicationError0x8F = 143

Application error code defined by a higher layer specification.

§

ApplicationError0x90 = 144

Application error code defined by a higher layer specification.

§

ApplicationError0x91 = 145

Application error code defined by a higher layer specification.

§

ApplicationError0x92 = 146

Application error code defined by a higher layer specification.

§

ApplicationError0x93 = 147

Application error code defined by a higher layer specification.

§

ApplicationError0x94 = 148

Application error code defined by a higher layer specification.

§

ApplicationError0x95 = 149

Application error code defined by a higher layer specification.

§

ApplicationError0x96 = 150

Application error code defined by a higher layer specification.

§

ApplicationError0x97 = 151

Application error code defined by a higher layer specification.

§

ApplicationError0x98 = 152

Application error code defined by a higher layer specification.

§

ApplicationError0x99 = 153

Application error code defined by a higher layer specification.

§

ApplicationError0x9A = 154

Application error code defined by a higher layer specification.

§

ApplicationError0x9B = 155

Application error code defined by a higher layer specification.

§

ApplicationError0x9C = 156

Application error code defined by a higher layer specification.

§

ApplicationError0x9D = 157

Application error code defined by a higher layer specification.

§

ApplicationError0x9E = 158

Application error code defined by a higher layer specification.

§

ApplicationError0x9F = 159

Application error code defined by a higher layer specification.

§

WriteRequestRejected = 252

The requested write operation cannot be fulfilled for reasons other than permissions.

§

ClientCharacteristicConfigurationDescriptorImproperlyConfigured = 253

A Client Characteristic Configuration descriptor is not configured according to the requirements of the profile or service.

§

ProcedureAlreadyInProgress = 254

A profile or service request cannot be serviced because an operation that has been previously triggered is still in progress.

§

OutOfRange = 255

An attribute value is out of range as defined by a profile or service specification.

Trait Implementations§

Source§

impl Clone for AttError

Source§

fn clone(&self) -> AttError

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AttError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for AttError

Source§

fn eq(&self, other: &AttError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TryFrom<u8> for AttError

Source§

type Error = u8

The type returned in the event of a conversion error.
Source§

fn try_from(value: u8) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl Copy for AttError

Source§

impl StructuralPartialEq for AttError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.