pub struct Producer<'a, T, Q: HasPoolIdx<N>, const N: usize, const M: usize> {
pub alloc_prod: Producer<'a, Q, M>,
pub return_cons: Consumer<'a, Q, M>,
/* private fields */
}Fields§
§alloc_prod: Producer<'a, Q, M>§return_cons: Consumer<'a, Q, M>Implementations§
Source§impl<'a, T, Q: HasPoolIdx<N>, const N: usize, const M: usize> Producer<'a, T, Q, N, M>
impl<'a, T, Q: HasPoolIdx<N>, const N: usize, const M: usize> Producer<'a, T, Q, N, M>
pub const fn new( alloc_prod: RingBufProducer<'a, Q, M>, return_cons: RingBufConsumer<'a, Q, M>, pool_ref: &'a [SharedSingleton<T>; N], ) -> Self
pub fn stage(&mut self) -> Option<&mut Q>
pub fn stage_with_payload( &mut self, ) -> Result<(&mut Q, &SharedSingleton<T>), SharedPoolError>
pub fn commit(&mut self) -> Result<(), SharedPoolError>
Auto Trait Implementations§
impl<'a, T, Q, const N: usize, const M: usize> Freeze for Producer<'a, T, Q, N, M>
impl<'a, T, Q, const N: usize, const M: usize> !RefUnwindSafe for Producer<'a, T, Q, N, M>
impl<'a, T, Q, const N: usize, const M: usize> Send for Producer<'a, T, Q, N, M>
impl<'a, T, Q, const N: usize, const M: usize> Sync for Producer<'a, T, Q, N, M>
impl<'a, T, Q, const N: usize, const M: usize> Unpin for Producer<'a, T, Q, N, M>
impl<'a, T, Q, const N: usize, const M: usize> !UnwindSafe for Producer<'a, T, Q, N, M>
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