pub struct IngressEdgeLink<'src, OutP, S, const OUT: usize>{ /* private fields */ }Expand description
A tiny link wrapper for the synthetic ingress edge.
Wraps a borrowing SourceIngressEdge<'s, OutP, S, OUT> so the graph
can expose ingress pressure straight from the concrete source implementation.
Implementations§
Source§impl<'src, OutP, S, const OUT: usize> IngressEdgeLink<'src, OutP, S, OUT>
impl<'src, OutP, S, const OUT: usize> IngressEdgeLink<'src, OutP, S, OUT>
Sourcepub const fn from_source(
src: &'src S,
id: EdgeIndex,
upstream: PortId,
downstream: PortId,
policy: EdgePolicy,
name: Option<&'static str>,
) -> Self
pub const fn from_source( src: &'src S, id: EdgeIndex, upstream: PortId, downstream: PortId, policy: EdgePolicy, name: Option<&'static str>, ) -> Self
Construct from a borrowed source reference.
Sourcepub fn descriptor(&self) -> EdgeDescriptor
pub fn descriptor(&self) -> EdgeDescriptor
Edge descriptor.
Sourcepub fn policy(&self) -> EdgePolicy
pub fn policy(&self) -> EdgePolicy
Policy accessor.
Sourcepub fn inner(&self) -> &SourceIngressEdge<'src, OutP, S, OUT>
pub fn inner(&self) -> &SourceIngressEdge<'src, OutP, S, OUT>
Borrow the inner borrowing edge.
Trait Implementations§
Source§impl<'s, OutP, S, const OUT: usize> Edge for IngressEdgeLink<'s, OutP, S, OUT>
impl<'s, OutP, S, const OUT: usize> Edge for IngressEdgeLink<'s, OutP, S, OUT>
Source§fn try_push<H: HeaderStore>(
&mut self,
_token: MessageToken,
_policy: &EdgePolicy,
_headers: &H,
) -> EnqueueResult
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>
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 try_peek(&self) -> Result<MessageToken, QueueError>
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>
fn try_peek_at(&self, _index: usize) -> Result<MessageToken, QueueError>
Peek at the token at logical position
index from the front. Read moreSource§fn occupancy(&self, policy: &EdgePolicy) -> EdgeOccupancy
fn occupancy(&self, policy: &EdgePolicy) -> EdgeOccupancy
Return a snapshot of occupancy used for telemetry and admission. Read more
Source§fn try_pop_batch<H: HeaderStore>(
&mut self,
_policy: &BatchingPolicy,
_headers: &H,
) -> Result<BatchView<'_, MessageToken>, QueueError>
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>
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 moreSource§fn get_admission_decision<H: HeaderStore>(
&self,
policy: &EdgePolicy,
token: MessageToken,
headers: &H,
) -> AdmissionDecision
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 moreSource§fn get_admission_decision_from_message<P: Payload>(
&self,
policy: &EdgePolicy,
message: &Message<P>,
) -> AdmissionDecision
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 moreAuto Trait Implementations§
impl<'src, OutP, S, const OUT: usize> Freeze for IngressEdgeLink<'src, OutP, S, OUT>where
S: ?Sized,
impl<'src, OutP, S, const OUT: usize> RefUnwindSafe for IngressEdgeLink<'src, OutP, S, OUT>
impl<'src, OutP, S, const OUT: usize> Send for IngressEdgeLink<'src, OutP, S, OUT>
impl<'src, OutP, S, const OUT: usize> Sync for IngressEdgeLink<'src, OutP, S, OUT>
impl<'src, OutP, S, const OUT: usize> Unpin for IngressEdgeLink<'src, OutP, S, OUT>
impl<'src, OutP, S, const OUT: usize> UnsafeUnpin for IngressEdgeLink<'src, OutP, S, OUT>where
S: ?Sized,
impl<'src, OutP, S, const OUT: usize> UnwindSafe for IngressEdgeLink<'src, OutP, S, OUT>
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