pub struct UlcpSessionUpdateRecord {
pub outbound_frames: Vec<Vec<u8>>,
pub received_frames: Vec<UlcpReceivedFrameRecord>,
pub snapshot: UlcpSessionSnapshotRecord,
pub waiting_for_responses: bool,
pub raw_transmit_pending: bool,
pub raw_transmit_started_transaction_id: Option<u8>,
pub raw_transmit_result: Option<UlcpRawTransmitResultRecord>,
pub operation_error: Option<UlcpOperationErrorRecord>,
pub management_event: Option<UlcpLocalManagementEventRecord>,
pub pushed_properties: Vec<UlcpPropertyPushRecord>,
}Expand description
Work produced by the Rust ULCP session. Frames are complete ULCP frames; the platform adapter remains responsible for GATT segmentation and write backpressure.
Fields§
§outbound_frames: Vec<Vec<u8>>§received_frames: Vec<UlcpReceivedFrameRecord>§snapshot: UlcpSessionSnapshotRecord§waiting_for_responses: bool§raw_transmit_pending: boolTrue while one host-requested raw PHY transmission is awaiting the
radio’s PROP_LAST_STATUS completion.
raw_transmit_started_transaction_id: Option<u8>Transaction allocated by transmit_raw in this update, if any.
raw_transmit_result: Option<UlcpRawTransmitResultRecord>Completion for the raw PHY transmission consumed by this update. Rejections are ordinary radio-level send failures, not malformed ULCP frames.
operation_error: Option<UlcpOperationErrorRecord>Non-transmit operation error consumed by this update. The ULCP session has already recovered to a stable stage and remains usable.
management_event: Option<UlcpLocalManagementEventRecord>Completion of the local management operation, when this update carries one.
pushed_properties: Vec<UlcpPropertyPushRecord>Values the device announced unsolicited with this update, verbatim. The snapshot has already absorbed what it recognizes; these carry the raw octets to whoever caches values by property number.
Trait Implementations§
Source§impl Clone for UlcpSessionUpdateRecord
impl Clone for UlcpSessionUpdateRecord
Source§fn clone(&self) -> UlcpSessionUpdateRecord
fn clone(&self) -> UlcpSessionUpdateRecord
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 UlcpSessionUpdateRecord
impl<UT> ConvertError<UT> for UlcpSessionUpdateRecord
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for UlcpSessionUpdateRecord
impl Debug for UlcpSessionUpdateRecord
Source§impl<UT> FfiConverter<UT> for UlcpSessionUpdateRecord
impl<UT> FfiConverter<UT> for UlcpSessionUpdateRecord
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 UlcpSessionUpdateRecord
impl<UT> Lift<UT> for UlcpSessionUpdateRecord
Source§impl<UT> LiftRef<UT> for UlcpSessionUpdateRecord
impl<UT> LiftRef<UT> for UlcpSessionUpdateRecord
Source§impl<UT> LiftReturn<UT> for UlcpSessionUpdateRecord
impl<UT> LiftReturn<UT> for UlcpSessionUpdateRecord
Source§type ReturnType = <UlcpSessionUpdateRecord as Lift<UT>>::FfiType
type ReturnType = <UlcpSessionUpdateRecord 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 UlcpSessionUpdateRecord
impl<UT> Lower<UT> for UlcpSessionUpdateRecord
type FfiType = <UlcpSessionUpdateRecord 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 UlcpSessionUpdateRecord
impl<UT> LowerError<UT> for UlcpSessionUpdateRecord
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for UlcpSessionUpdateRecord
impl<UT> LowerReturn<UT> for UlcpSessionUpdateRecord
Source§type ReturnType = <UlcpSessionUpdateRecord as Lower<UT>>::FfiType
type ReturnType = <UlcpSessionUpdateRecord 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 PartialEq for UlcpSessionUpdateRecord
impl PartialEq for UlcpSessionUpdateRecord
Source§impl<UT> TypeId<UT> for UlcpSessionUpdateRecord
impl<UT> TypeId<UT> for UlcpSessionUpdateRecord
impl StructuralPartialEq for UlcpSessionUpdateRecord
Auto Trait Implementations§
impl Freeze for UlcpSessionUpdateRecord
impl RefUnwindSafe for UlcpSessionUpdateRecord
impl Send for UlcpSessionUpdateRecord
impl Sync for UlcpSessionUpdateRecord
impl Unpin for UlcpSessionUpdateRecord
impl UnwindSafe for UlcpSessionUpdateRecord
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)