pub struct UlcpMismatchedResponseRecord {
pub operation: String,
pub property_id: u32,
pub command: u8,
}Expand description
A correlated answer this session could not use.
The frame parsed and answered a transaction still outstanding, so the device acted on the request; what failed is the request’s prediction of the answer’s form—another property, another command, or an echoed item that is not the one written. That is the two ends disagreeing about a property’s shape (a table whose items changed width between firmware versions, say), not a broken transport: reconnecting cannot fix it, and the request has already been carried out. The operation fails, the session stays attached, and because the cache cannot be patched from a value this session does not understand, the property the operation touched is read back so the snapshot reflects the device rather than the prediction.
Fields§
§operation: StringThe operation the answer belonged to, named the way
UlcpOperationErrorRecord::operation names it.
property_id: u32The property the answer carried.
command: u8The command the answer carried.
Trait Implementations§
Source§impl Clone for UlcpMismatchedResponseRecord
impl Clone for UlcpMismatchedResponseRecord
Source§fn clone(&self) -> UlcpMismatchedResponseRecord
fn clone(&self) -> UlcpMismatchedResponseRecord
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<UT> ConvertError<UT> for UlcpMismatchedResponseRecord
impl<UT> ConvertError<UT> for UlcpMismatchedResponseRecord
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for UlcpMismatchedResponseRecord
impl Debug for UlcpMismatchedResponseRecord
Source§impl<UT> FfiConverter<UT> for UlcpMismatchedResponseRecord
impl<UT> FfiConverter<UT> for UlcpMismatchedResponseRecord
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Source§impl<UT> Lift<UT> for UlcpMismatchedResponseRecord
impl<UT> Lift<UT> for UlcpMismatchedResponseRecord
Source§impl<UT> LiftRef<UT> for UlcpMismatchedResponseRecord
impl<UT> LiftRef<UT> for UlcpMismatchedResponseRecord
Source§impl<UT> LiftReturn<UT> for UlcpMismatchedResponseRecord
impl<UT> LiftReturn<UT> for UlcpMismatchedResponseRecord
Source§type ReturnType = <UlcpMismatchedResponseRecord as Lift<UT>>::FfiType
type ReturnType = <UlcpMismatchedResponseRecord as Lift<UT>>::FfiType
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Source§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Source§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Source§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Source§impl<UT> Lower<UT> for UlcpMismatchedResponseRecord
impl<UT> Lower<UT> for UlcpMismatchedResponseRecord
type FfiType = <UlcpMismatchedResponseRecord as FfiConverter<UT>>::FfiType
fn lower(obj: Self) -> Self::FfiType
fn write(obj: Self, buf: &mut Vec<u8>)
Source§fn lower_into_rust_buffer(obj: Self) -> RustBuffer
fn lower_into_rust_buffer(obj: Self) -> RustBuffer
Source§impl<UT> LowerError<UT> for UlcpMismatchedResponseRecord
impl<UT> LowerError<UT> for UlcpMismatchedResponseRecord
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for UlcpMismatchedResponseRecord
impl<UT> LowerReturn<UT> for UlcpMismatchedResponseRecord
Source§type ReturnType = <UlcpMismatchedResponseRecord as Lower<UT>>::FfiType
type ReturnType = <UlcpMismatchedResponseRecord as Lower<UT>>::FfiType
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Source§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Source§impl<UT> TypeId<UT> for UlcpMismatchedResponseRecord
impl<UT> TypeId<UT> for UlcpMismatchedResponseRecord
impl Eq for UlcpMismatchedResponseRecord
impl StructuralPartialEq for UlcpMismatchedResponseRecord
Auto Trait Implementations§
impl Freeze for UlcpMismatchedResponseRecord
impl RefUnwindSafe for UlcpMismatchedResponseRecord
impl Send for UlcpMismatchedResponseRecord
impl Sync for UlcpMismatchedResponseRecord
impl Unpin for UlcpMismatchedResponseRecord
impl UnwindSafe for UlcpMismatchedResponseRecord
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.