pub struct InvokeSenderSlot<'a> { /* private fields */ }Expand description
Internal serialization handle for the in-flight build of an
InvokeSender.
This type only exists because TLVBuilderParent requires the
Write associated type to be a named type (so the codegen request
builders can write through it). Users should not interact with it
directly — go through InvokeSender::tx and the typed
InvReqBuilder it returns.
Fields are private to enforce that the only way to drive
cursor forward is by writing TLV through the
TLVWrite impl below.
Trait Implementations§
Source§impl<'a> Debug for InvokeSenderSlot<'a>
impl<'a> Debug for InvokeSenderSlot<'a>
Source§impl<'a> TLVWrite for InvokeSenderSlot<'a>
impl<'a> TLVWrite for InvokeSenderSlot<'a>
Source§fn get_tail(&self) -> <InvokeSenderSlot<'a> as TLVWrite>::Position
fn get_tail(&self) -> <InvokeSenderSlot<'a> as TLVWrite>::Position
Byte offset into the active TX-slot payload at which the next
write() would land. Used by the derived ToTLV impls (and
similar helpers) to mark a rollback anchor before composing a
TLV structure.
Source§fn rewind_to(&mut self, pos: <InvokeSenderSlot<'a> as TLVWrite>::Position)
fn rewind_to(&mut self, pos: <InvokeSenderSlot<'a> as TLVWrite>::Position)
Roll the cursor back to a position previously returned by
[get_tail]. Used by derived ToTLV impls to unwind a
partially-written TLV structure on error.
type Position = usize
Source§fn write_ctx<T>(&mut self, ctx: u8, value: &T) -> Result<(), Error>
fn write_ctx<T>(&mut self, ctx: u8, value: &T) -> Result<(), Error>
value under a context tag. Read moreSource§fn tlv(&mut self, tag: &TLVTag, value: &TLVValue<'_>) -> Result<(), Error>
fn tlv(&mut self, tag: &TLVTag, value: &TLVValue<'_>) -> Result<(), Error>
Source§fn i8(&mut self, tag: &TLVTag, data: i8) -> Result<(), Error>
fn i8(&mut self, tag: &TLVTag, data: i8) -> Result<(), Error>
Source§fn u8(&mut self, tag: &TLVTag, data: u8) -> Result<(), Error>
fn u8(&mut self, tag: &TLVTag, data: u8) -> Result<(), Error>
Source§fn i16(&mut self, tag: &TLVTag, data: i16) -> Result<(), Error>
fn i16(&mut self, tag: &TLVTag, data: i16) -> Result<(), Error>
Source§fn u16(&mut self, tag: &TLVTag, data: u16) -> Result<(), Error>
fn u16(&mut self, tag: &TLVTag, data: u16) -> Result<(), Error>
Source§fn i32(&mut self, tag: &TLVTag, data: i32) -> Result<(), Error>
fn i32(&mut self, tag: &TLVTag, data: i32) -> Result<(), Error>
Source§fn u32(&mut self, tag: &TLVTag, data: u32) -> Result<(), Error>
fn u32(&mut self, tag: &TLVTag, data: u32) -> Result<(), Error>
Source§fn i64(&mut self, tag: &TLVTag, data: i64) -> Result<(), Error>
fn i64(&mut self, tag: &TLVTag, data: i64) -> Result<(), Error>
Source§fn u64(&mut self, tag: &TLVTag, data: u64) -> Result<(), Error>
fn u64(&mut self, tag: &TLVTag, data: u64) -> Result<(), Error>
Source§fn f32(&mut self, tag: &TLVTag, data: f32) -> Result<(), Error>
fn f32(&mut self, tag: &TLVTag, data: f32) -> Result<(), Error>
Source§fn f64(&mut self, tag: &TLVTag, data: f64) -> Result<(), Error>
fn f64(&mut self, tag: &TLVTag, data: f64) -> Result<(), Error>
Source§fn str(&mut self, tag: &TLVTag, data: &[u8]) -> Result<(), Error>
fn str(&mut self, tag: &TLVTag, data: &[u8]) -> Result<(), Error>
Source§fn str_cb(
&mut self,
_tag: &TLVTag,
_cb: impl FnOnce(&mut [u8]) -> Result<usize, Error>,
) -> Result<(), Error>
fn str_cb( &mut self, _tag: &TLVTag, _cb: impl FnOnce(&mut [u8]) -> Result<usize, Error>, ) -> Result<(), Error>
Source§fn stri<I>(&mut self, tag: &TLVTag, len: usize, data: I) -> Result<(), Error>where
I: IntoIterator<Item = u8>,
fn stri<I>(&mut self, tag: &TLVTag, len: usize, data: I) -> Result<(), Error>where
I: IntoIterator<Item = u8>,
Source§fn utf8(&mut self, tag: &TLVTag, data: &str) -> Result<(), Error>
fn utf8(&mut self, tag: &TLVTag, data: &str) -> Result<(), Error>
Source§fn utf8i<I>(&mut self, tag: &TLVTag, len: usize, data: I) -> Result<(), Error>where
I: IntoIterator<Item = u8>,
fn utf8i<I>(&mut self, tag: &TLVTag, len: usize, data: I) -> Result<(), Error>where
I: IntoIterator<Item = u8>,
Source§fn utf8_cb(
&mut self,
_tag: &TLVTag,
_cb: impl FnOnce(&mut [u8]) -> Result<usize, Error>,
) -> Result<(), Error>
fn utf8_cb( &mut self, _tag: &TLVTag, _cb: impl FnOnce(&mut [u8]) -> Result<usize, Error>, ) -> Result<(), Error>
Source§fn start_struct(&mut self, tag: &TLVTag) -> Result<(), Error>
fn start_struct(&mut self, tag: &TLVTag) -> Result<(), Error>
Source§fn start_array(&mut self, tag: &TLVTag) -> Result<(), Error>
fn start_array(&mut self, tag: &TLVTag) -> Result<(), Error>
Source§fn start_list(&mut self, tag: &TLVTag) -> Result<(), Error>
fn start_list(&mut self, tag: &TLVTag) -> Result<(), Error>
Source§fn start_container(
&mut self,
tag: &TLVTag,
container_type: TLVValueType,
) -> Result<(), Error>
fn start_container( &mut self, tag: &TLVTag, container_type: TLVValueType, ) -> Result<(), Error>
Source§fn end_container(&mut self) -> Result<(), Error>
fn end_container(&mut self) -> Result<(), Error>
Source§fn null(&mut self, tag: &TLVTag) -> Result<(), Error>
fn null(&mut self, tag: &TLVTag) -> Result<(), Error>
Source§fn bool(&mut self, tag: &TLVTag, val: bool) -> Result<(), Error>
fn bool(&mut self, tag: &TLVTag, val: bool) -> Result<(), Error>
Source§fn raw_value(
&mut self,
tag: &TLVTag,
value_type: TLVValueType,
value_payload: &[u8],
) -> Result<(), Error>
fn raw_value( &mut self, tag: &TLVTag, value_type: TLVValueType, value_payload: &[u8], ) -> Result<(), Error>
Source§fn write_raw_data<I>(&mut self, bytes: I) -> Result<(), Error>where
I: IntoIterator<Item = u8>,
fn write_raw_data<I>(&mut self, bytes: I) -> Result<(), Error>where
I: IntoIterator<Item = u8>,
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for InvokeSenderSlot<'a>
impl<'a> !Send for InvokeSenderSlot<'a>
impl<'a> !Sync for InvokeSenderSlot<'a>
impl<'a> !UnwindSafe for InvokeSenderSlot<'a>
impl<'a> Freeze for InvokeSenderSlot<'a>
impl<'a> Unpin for InvokeSenderSlot<'a>
impl<'a> UnsafeUnpin for InvokeSenderSlot<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more