pub fn receive_raw<F: FnOnce(*const T, usize) -> usize>(&mut self, f: F) -> Result<Status, Error> {
        let status = self.receiver_mut().recv(f)?;
        if status.signal { self.full_signal().write(&1u64.to_ne_bytes())?; }
        Ok(status)
    }
/// Receives data from the ringbuffer.
///
/// Because this is a ringbuffer between untrusted processes we can never create references to
/// the data, so we have to resort to raw pointers.
/// The closure receives a (ptr, count) pair which can be read from using e g `std::ptr::read`,
/// and returns the number of items that can be dropped from the ringbuffer.
/// If the buffer is empty, the closure is not called. If there is more data that could be read
/// (e g in another part of the ringbuffer), that is indicated in the returned `Status` struct.
Receives data from the ringbuffer.
Because this is a ringbuffer between untrusted processes we can never create references to
the data, so we have to resort to raw pointers.
The closure receives a (ptr, count) pair which can be read from using e g `std::ptr::read`,
and returns the number of items that can be dropped from the ringbuffer.
If the buffer is empty, the closure is not called. If there is more data that could be read
(e g in another part of the ringbuffer), that is indicated in the returned `Status` struct.
Receives data from the ringbuffer . Because this is a ringbuffer between untrusted processes we can never create references to the data so we have to resort to raw pointers . The closure receives a ( ptr count ) pair which can be read from using e g ` std :: ptr :: read ` and returns the number of items that can be dropped from the ringbuffer . If the buffer is empty the closure is not called . If there is more data that could be read ( e g in another part of the ringbuffer ) that is indicated in the returned ` Status ` struct .
pub fn receive_raw<F: FnOnce(*const T, usize) -> usize>(&mut self, f: F) -> Result<Status, Error> {
        let status = self.receiver_mut().recv(f)?;
        if status.signal { self.full_signal().write(&1u64.to_ne_bytes())?; }
        Ok(status)
    }
pub fn receive_raw < F : FnOnce ( * const T , usize ) -> usize > ( & mut self , f : F ) -> Result < Status , Error > { let status = self . receiver_mut ( ) . recv ( f ) ? ; if status . signal { self . full_signal ( ) . write ( & 1u64 . to_ne_bytes ( ) ) ? ; } Ok ( status ) }
Receives data from the ringbuffer.
Receives data from the ringbuffer .
&mut self
f
F
&mut self
f
F