pub struct MegakernelReadback {
pub control_bytes: Vec<u8>,
pub ring_bytes: Vec<u8>,
pub debug_log_bytes: Vec<u8>,
pub io_queue_bytes: Vec<u8>,
}Expand description
Decoded megakernel output buffers in ABI order.
Fields§
§control_bytes: Vec<u8>Control buffer bytes after dispatch.
ring_bytes: Vec<u8>Ring buffer bytes after dispatch.
debug_log_bytes: Vec<u8>Debug-log buffer bytes after dispatch.
io_queue_bytes: Vec<u8>IO queue bytes after dispatch.
Implementations§
Source§impl MegakernelReadback
impl MegakernelReadback
Sourcepub fn from_outputs(
outputs: Vec<Vec<u8>>,
slot_count: u32,
) -> Result<Self, PipelineError>
pub fn from_outputs( outputs: Vec<Vec<u8>>, slot_count: u32, ) -> Result<Self, PipelineError>
Decode the backend output vector produced by super::Megakernel.
§Errors
Returns PipelineError::Backend when output count or protocol buffer
shapes do not match the persistent megakernel ABI.
Sourcepub fn from_outputs_into(
outputs: Vec<Vec<u8>>,
slot_count: u32,
out: &mut Self,
) -> Result<(), PipelineError>
pub fn from_outputs_into( outputs: Vec<Vec<u8>>, slot_count: u32, out: &mut Self, ) -> Result<(), PipelineError>
Decode backend outputs into caller-owned readback storage.
§Errors
Returns PipelineError::Backend when output count or protocol buffer
shapes do not match the persistent megakernel ABI.
Sourcepub fn drain_outputs_into(
outputs: &mut Vec<Vec<u8>>,
slot_count: u32,
out: &mut Self,
) -> Result<(), PipelineError>
pub fn drain_outputs_into( outputs: &mut Vec<Vec<u8>>, slot_count: u32, out: &mut Self, ) -> Result<(), PipelineError>
Decode backend outputs into caller-owned readback storage while preserving the outer output-vector allocation for the next dispatch.
§Errors
Returns PipelineError::Backend when output count or protocol buffer
shapes do not match the persistent megakernel ABI.
Sourcepub fn slot_count(&self) -> Result<u32, PipelineError>
pub fn slot_count(&self) -> Result<u32, PipelineError>
Number of slots described by this readback ring.
§Errors
Returns when the ring length is not a whole number of slot records.
Sourcepub fn counters(&self) -> MegakernelReadbackCounters
pub fn counters(&self) -> MegakernelReadbackCounters
Host-visible readback byte counters for B.21 telemetry.
Trait Implementations§
Source§impl Clone for MegakernelReadback
impl Clone for MegakernelReadback
Source§fn clone(&self) -> MegakernelReadback
fn clone(&self) -> MegakernelReadback
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MegakernelReadback
impl Debug for MegakernelReadback
Source§impl Default for MegakernelReadback
impl Default for MegakernelReadback
Source§fn default() -> MegakernelReadback
fn default() -> MegakernelReadback
impl Eq for MegakernelReadback
Source§impl PartialEq for MegakernelReadback
impl PartialEq for MegakernelReadback
Source§fn eq(&self, other: &MegakernelReadback) -> bool
fn eq(&self, other: &MegakernelReadback) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for MegakernelReadback
Auto Trait Implementations§
impl Freeze for MegakernelReadback
impl RefUnwindSafe for MegakernelReadback
impl Send for MegakernelReadback
impl Sync for MegakernelReadback
impl Unpin for MegakernelReadback
impl UnsafeUnpin for MegakernelReadback
impl UnwindSafe for MegakernelReadback
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.