Skip to main content

PortsIn

Struct PortsIn 

Source
pub struct PortsIn { /* private fields */ }
Expand description

Declared input ports available to a node execution boundary.

Implementations§

Source§

impl PortsIn

Source

pub fn new(port_ids: impl Into<Vec<PortId>>) -> Self

Create input handles with declared port identifiers and no channels.

Source

pub fn from_handles( port_ids: impl Into<Vec<PortId>>, handles: impl Into<Vec<InputPortHandle>>, ) -> Self

Create input handles from declared ports and connected channel handles.

Source

pub fn with_metadata_sink( self, metadata_sink: Arc<dyn MetadataSink + Send + Sync>, ) -> Self

Attach a metadata sink for receive-side observations.

Source

pub fn with_node_context(self, context: NodeContext) -> Self

Attach node context for receive-side queue observations.

Source

pub fn port_ids(&self) -> &[PortId]

Declared input port identifiers for this node.

Source

pub const fn is_empty(&self) -> bool

Return whether this node currently has no declared inputs.

Source

pub fn connected_edge_count(&self, port_id: &PortId) -> Option<usize>

Number of connected upstream edges for a declared input port.

Source

pub fn capacity(&self, port_id: &PortId) -> Option<usize>

Capacity of the first connected upstream edge for a declared input port.

Source

pub fn try_recv( &mut self, port_id: &PortId, ) -> Result<Option<PortPacket>, PortRecvError>

Try to receive one packet from a declared input port without blocking.

Returns Ok(None) when the port is declared but no packet is currently queued. Use Self::recv to wait asynchronously.

§Errors

Returns an error if the port is undeclared or all upstream senders have disconnected.

Source

pub async fn recv( &mut self, port_id: &PortId, cancellation: &CancellationToken, ) -> Result<Option<PortPacket>, PortRecvError>

Receive one packet from a declared input port, waiting asynchronously.

Returns Ok(None) when the port is declared but has no connected upstream edges. Connected ports wait until a packet arrives, every upstream edge disconnects, or cancellation is observed.

§Errors

Returns an error if the port is undeclared, all upstream senders have disconnected, or cancellation is observed.

Source

pub async fn recv_any( &mut self, cancellation: &CancellationToken, ) -> Result<Option<(PortId, PortPacket)>, PortRecvError>

Receive one packet from any declared input port, waiting asynchronously.

Returns the port that produced the packet with the packet itself. Returns Ok(None) when the node has no declared inputs or every input is closed or disconnected.

§Errors

Returns an error if cancellation is observed while waiting.

Trait Implementations§

Source§

impl Default for PortsIn

Source§

fn default() -> PortsIn

Returns the “default value” for a type. 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> Instrument for T

Source§

fn instrument(self, _span: NoopSpan) -> Self

Instruments this future with a span (no-op when disabled).
Source§

fn in_current_span(self) -> Self

Instruments this future with the current span (no-op when disabled).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more