Skip to main content

NoQueue

Struct NoQueue 

Source
pub struct NoQueue;
Expand description

A no-op queue implementation used for phantom inputs and outputs.

NoQueue acts as a placeholder in the graph where a queue is required by type but no actual buffering or message transfer is desired. All enqueue attempts are rejected, and all dequeue or peek attempts return empty.

This is primarily useful for:

  • Phantom or unconnected ports in a graph.
  • Simplifying generic code that expects a queue type, without allocating unnecessary resources.
  • Static analysis or testing scenarios where message flow is disabled.

§Type Parameters

  • P: Payload type of the Message carried by this queue.

§Behavior

Trait Implementations§

Source§

impl Edge for NoQueue

Source§

fn try_push<H: HeaderStore>( &mut self, _token: MessageToken, _policy: &EdgePolicy, _headers: &H, ) -> EnqueueResult

Attempt to push a token onto the queue using the given edge policy. Read more
Source§

fn try_pop<H: HeaderStore>( &mut self, _headers: &H, ) -> Result<MessageToken, QueueError>

Attempt to pop the front token from the queue. Read more
Source§

fn occupancy(&self, _policy: &EdgePolicy) -> EdgeOccupancy

Return a snapshot of occupancy used for telemetry and admission. Read more
Source§

fn is_empty(&self) -> bool

Return true if the queue is empty.
Source§

fn try_peek(&self) -> Result<MessageToken, QueueError>

Peek at the front token without removing it.
Source§

fn try_peek_at(&self, _index: usize) -> Result<MessageToken, QueueError>

Peek at the token at logical position index from the front. Read more
Source§

fn try_pop_batch<H: HeaderStore>( &mut self, _policy: &BatchingPolicy, _headers: &H, ) -> Result<BatchView<'_, MessageToken>, QueueError>

Pop a batch of tokens according to the provided batching policy. Read more
Source§

fn peek_header<'h, H: HeaderStore>( &self, headers: &'h H, ) -> Result<<H as HeaderStore>::HeaderGuard<'h>, QueueError>

Peek the front message header via HeaderStore (convenience). Read more
Source§

fn get_admission_decision<H: HeaderStore>( &self, policy: &EdgePolicy, token: MessageToken, headers: &H, ) -> AdmissionDecision

Return an AdmissionDecision for the given token according to policy and the current occupancy snapshot. Read more
Source§

fn get_admission_decision_from_message<P: Payload>( &self, policy: &EdgePolicy, message: &Message<P>, ) -> AdmissionDecision

Return an AdmissionDecision for the given token according to policy and the current occupancy snapshot. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.