Struct PullBuilder

Source
pub struct PullBuilder<St, K, F, Q = K>
where St: ?Sized + Stream,
{ /* private fields */ }
Expand description

The builder forwards each stream item according to its key to a destination receiver.

Implementations§

Source§

impl<St, K, Q, F> PullBuilder<St, K, F, Q>
where St: 'static + Send + Stream, St::Item: 'static + Send, F: 'static + Send + FnMut(&St::Item) -> Q, K: 'static + Send + Hash + Eq + Borrow<Q>, Q: Send + Hash + Eq,

Source

pub fn new<B>(stream: St, buf_size: B, key_fn: F) -> Self
where B: Into<BufSize>,

Creates the builder.

The buf_size sets the channel size for each registered receiver. The key_fn is used to compute the key for each input item.

Source

pub fn register(&mut self, key: K) -> Option<RecvStream<'static, St::Item>>

Creates a receiver binding to the key.

If the key is already registered, it returns None.

Source

pub fn build(self) -> RecvStream<'static, St::Item>

Finish the builder and start forwarding items to receivers.

It returns a special leaking receiver that accepts items which key is not registered or the destination receiver is closed.

Auto Trait Implementations§

§

impl<St, K, F, Q> Freeze for PullBuilder<St, K, F, Q>
where F: Freeze, St: Freeze + ?Sized,

§

impl<St, K, F, Q> RefUnwindSafe for PullBuilder<St, K, F, Q>

§

impl<St, K, F, Q> Send for PullBuilder<St, K, F, Q>
where F: Send, St: Send + ?Sized, Q: Send, K: Send, <St as Stream>::Item: Send,

§

impl<St, K, F, Q> Sync for PullBuilder<St, K, F, Q>
where F: Sync, St: Sync + ?Sized, Q: Sync, K: Sync, <St as Stream>::Item: Send,

§

impl<St, K, F, Q> Unpin for PullBuilder<St, K, F, Q>
where F: Unpin, St: Unpin + ?Sized, Q: Unpin, K: Unpin,

§

impl<St, K, F, Q> UnwindSafe for PullBuilder<St, K, F, Q>
where F: UnwindSafe, St: UnwindSafe + ?Sized, K: UnwindSafe, Q: UnwindSafe,

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: 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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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