pub struct CompletedResultEntry {
pub goal_id: GoalId,
pub status: GoalStatus,
pub offset: usize,
pub len: usize,
pub delivered: bool,
}Expand description
Completed goal result metadata — indexes into the result slab.
Entries are kept in completion order, which is also increasing
offset order: results are appended at result_slab_used and the slab is
compacted in place whenever an entry is reclaimed. Every reclamation path
preserves that ordering (heapless::Vec::remove / retain, never
swap_remove) because ActionServerCore::compact_result_slab moves
survivors down and would clobber a not-yet-moved entry otherwise.
Fields§
§goal_id: GoalIdUnique identifier for the completed goal.
status: GoalStatusTerminal status of the goal.
offset: usizeByte offset into the result slab.
len: usizeLength of the serialised result in bytes.
delivered: booltrue once a get_result reply carrying this result has been sent —
either the deferred flush in
ActionServerCore::complete_goal_raw or the immediate reply in
ActionServerCore::try_handle_get_result_raw.
Issue 0796: this is the reclamation priority. A delivered result has
served its purpose (rcl would let its result_timeout retire it), so it
is evicted before any result nobody has fetched yet.
Trait Implementations§
Source§impl Clone for CompletedResultEntry
impl Clone for CompletedResultEntry
Source§fn clone(&self) -> CompletedResultEntry
fn clone(&self) -> CompletedResultEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more