pub struct ExchangeCore<CB, F> { /* private fields */ }
Expand description
An exchange between multiple observers by data
Implementations§
source§impl<CB, F> ExchangeCore<CB, F>where
CB: LengthPreservingContainerBuilder,
CB::Container: SizableContainer,
for<'a> F: FnMut(&<CB::Container as Container>::Item<'a>) -> u64,
impl<CB, F> ExchangeCore<CB, F>where
CB: LengthPreservingContainerBuilder,
CB::Container: SizableContainer,
for<'a> F: FnMut(&<CB::Container as Container>::Item<'a>) -> u64,
sourcepub fn new_core(func: F) -> ExchangeCore<CB, F>
pub fn new_core(func: F) -> ExchangeCore<CB, F>
Allocates a new Exchange
pact from a distribution function.
source§impl<C, F> ExchangeCore<CapacityContainerBuilder<C>, F>
impl<C, F> ExchangeCore<CapacityContainerBuilder<C>, F>
sourcepub fn new(func: F) -> ExchangeCore<CapacityContainerBuilder<C>, F>
pub fn new(func: F) -> ExchangeCore<CapacityContainerBuilder<C>, F>
Allocates a new Exchange
pact from a distribution function.
Trait Implementations§
source§impl<C, F> Debug for ExchangeCore<C, F>
impl<C, F> Debug for ExchangeCore<C, F>
source§impl<T: Timestamp, CB, H> ParallelizationContract<T, <CB as ContainerBuilder>::Container> for ExchangeCore<CB, H>where
CB: ContainerBuilder + for<'a> PushInto<<CB::Container as Container>::Item<'a>>,
CB::Container: Data + Send + SizableContainer + ContainerBytes,
for<'a> H: FnMut(&<CB::Container as Container>::Item<'a>) -> u64 + 'static,
impl<T: Timestamp, CB, H> ParallelizationContract<T, <CB as ContainerBuilder>::Container> for ExchangeCore<CB, H>where
CB: ContainerBuilder + for<'a> PushInto<<CB::Container as Container>::Item<'a>>,
CB::Container: Data + Send + SizableContainer + ContainerBytes,
for<'a> H: FnMut(&<CB::Container as Container>::Item<'a>) -> u64 + 'static,
§type Pusher = Exchange<T, CB, LogPusher<T, <CB as ContainerBuilder>::Container, Box<dyn Push<Message<T, <CB as ContainerBuilder>::Container>>>>, H>
type Pusher = Exchange<T, CB, LogPusher<T, <CB as ContainerBuilder>::Container, Box<dyn Push<Message<T, <CB as ContainerBuilder>::Container>>>>, H>
Type implementing
Push
produced by this pact.§type Puller = LogPuller<T, <CB as ContainerBuilder>::Container, Box<dyn Pull<Message<T, <CB as ContainerBuilder>::Container>>>>
type Puller = LogPuller<T, <CB as ContainerBuilder>::Container, Box<dyn Pull<Message<T, <CB as ContainerBuilder>::Container>>>>
Type implementing
Pull
produced by this pact.Auto Trait Implementations§
impl<CB, F> Freeze for ExchangeCore<CB, F>where
F: Freeze,
impl<CB, F> RefUnwindSafe for ExchangeCore<CB, F>where
F: RefUnwindSafe,
CB: RefUnwindSafe,
impl<CB, F> Send for ExchangeCore<CB, F>
impl<CB, F> Sync for ExchangeCore<CB, F>
impl<CB, F> Unpin for ExchangeCore<CB, F>
impl<CB, F> UnwindSafe for ExchangeCore<CB, F>where
F: UnwindSafe,
CB: 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