pub struct FrameInfo {
pub buffer_index: u32,
pub frame_counter: u64,
pub timestamp: i64,
pub release_fence: EventPair,
}
Expand description
Metadata concerning a given frame.
Fields§
§buffer_index: u32
Identifies the buffer used for this frame as an index into the most recently negotiated buffer collection.
frame_counter: u64
A monotonically increasing counter indicating the number of frames written to this stream’s most recently negotiated buffer collection. Clients can use this to detect dropped frames or generate nominal timestamps using the associated stream’s framerate.
timestamp: i64
The value of the system monotonic clock, measured at the time the hardware completed populating the buffer.
release_fence: EventPair
The client must close this when it has completed reading from the buffer.
Trait Implementations§
Source§impl Decode<FrameInfo, DefaultFuchsiaResourceDialect> for FrameInfo
impl Decode<FrameInfo, DefaultFuchsiaResourceDialect> for FrameInfo
Source§impl<T0: Encode<u32, DefaultFuchsiaResourceDialect>, T1: Encode<u64, DefaultFuchsiaResourceDialect>, T2: Encode<i64, DefaultFuchsiaResourceDialect>, T3: Encode<HandleType<EventPair, { _ }, 2147483648>, DefaultFuchsiaResourceDialect>> Encode<FrameInfo, DefaultFuchsiaResourceDialect> for (T0, T1, T2, T3)
impl<T0: Encode<u32, DefaultFuchsiaResourceDialect>, T1: Encode<u64, DefaultFuchsiaResourceDialect>, T2: Encode<i64, DefaultFuchsiaResourceDialect>, T3: Encode<HandleType<EventPair, { _ }, 2147483648>, DefaultFuchsiaResourceDialect>> Encode<FrameInfo, DefaultFuchsiaResourceDialect> for (T0, T1, T2, T3)
Source§impl Ord for FrameInfo
impl Ord for FrameInfo
Source§impl PartialOrd for FrameInfo
impl PartialOrd for FrameInfo
Source§impl ResourceTypeMarker for FrameInfo
impl ResourceTypeMarker for FrameInfo
Source§type Borrowed<'a> = &'a mut FrameInfo
type Borrowed<'a> = &'a mut FrameInfo
The Rust type to use for encoding. This is a particular
Encode<Self>
type cheaply obtainable from &mut Self::Owned
. There are three cases: Read moreSource§fn take_or_borrow<'a>(
value: &'a mut <Self as TypeMarker>::Owned,
) -> Self::Borrowed<'a>
fn take_or_borrow<'a>( value: &'a mut <Self as TypeMarker>::Owned, ) -> Self::Borrowed<'a>
Cheaply converts from
&mut Self::Owned
to Self::Borrowed
. For
HandleBased
types this is “take” (it returns an owned handle and
replaces value
with Handle::invalid
), and for all other types it is
“borrow” (just converts from one reference to another).Source§impl TypeMarker for FrameInfo
impl TypeMarker for FrameInfo
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Returns the minimum required alignment of the inline portion of the
encoded object. It must be a (nonzero) power of two.
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
Returns the size of the inline portion of the encoded object, including
padding for alignment. Must be a multiple of
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Returns true if the memory layout of
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Returns true if the memory layout of
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.impl Eq for FrameInfo
impl Standalone<DefaultFuchsiaResourceDialect> for FrameInfo
impl StructuralPartialEq for FrameInfo
Auto Trait Implementations§
impl Freeze for FrameInfo
impl RefUnwindSafe for FrameInfo
impl Send for FrameInfo
impl Sync for FrameInfo
impl Unpin for FrameInfo
impl UnwindSafe for FrameInfo
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
Mutably borrows from an owned value. Read more