pub struct MultiplexSubscriptionTask<Runtime, S, M, T, U>where
Runtime: HasMutex + HasChannelTypes,
S: Subscription<Item = T>,
M: Fn(T) -> U + Async,
T: Async,
U: Async,{
pub subscription: S,
pub mapper: M,
pub task_senders: Arc<Runtime::Mutex<Option<Vec<Runtime::Sender<U>>>>>,
pub phantom: PhantomData<Runtime>,
}Fields§
§subscription: S§mapper: M§task_senders: Arc<Runtime::Mutex<Option<Vec<Runtime::Sender<U>>>>>§phantom: PhantomData<Runtime>Trait Implementations§
Source§impl<Runtime, S, M, T, U> Task for MultiplexSubscriptionTask<Runtime, S, M, T, U>where
Runtime: HasMutex + CanUseChannels,
S: Subscription<Item = T>,
M: Fn(T) -> U + Async,
T: Async,
U: Async + Clone,
impl<Runtime, S, M, T, U> Task for MultiplexSubscriptionTask<Runtime, S, M, T, U>where
Runtime: HasMutex + CanUseChannels,
S: Subscription<Item = T>,
M: Fn(T) -> U + Async,
T: Async,
U: Async + Clone,
Auto Trait Implementations§
impl<Runtime, S, M, T, U> Freeze for MultiplexSubscriptionTask<Runtime, S, M, T, U>
impl<Runtime, S, M, T, U> RefUnwindSafe for MultiplexSubscriptionTask<Runtime, S, M, T, U>where
S: RefUnwindSafe,
M: RefUnwindSafe,
Runtime: RefUnwindSafe,
<Runtime as HasMutex>::Mutex<Option<Vec<<Runtime as HasChannelTypes>::Sender<U>>>>: RefUnwindSafe,
impl<Runtime, S, M, T, U> Send for MultiplexSubscriptionTask<Runtime, S, M, T, U>
impl<Runtime, S, M, T, U> Sync for MultiplexSubscriptionTask<Runtime, S, M, T, U>
impl<Runtime, S, M, T, U> Unpin for MultiplexSubscriptionTask<Runtime, S, M, T, U>
impl<Runtime, S, M, T, U> UnwindSafe for MultiplexSubscriptionTask<Runtime, S, M, T, U>where
S: UnwindSafe,
M: UnwindSafe,
<Runtime as HasMutex>::Mutex<Option<Vec<<Runtime as HasChannelTypes>::Sender<U>>>>: RefUnwindSafe,
Runtime: UnwindSafe,
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