pub fn pair<'a, C: FromCqe>(uring: &'a Uring) -> (Completion<'a, C>, Filler) {
    let mu = Arc::new(Mutex::new(CompletionState::default()));
    let cv = Arc::new(Condvar::new());
    let future = Completion {
        lifetime: PhantomData,
        mu: mu.clone(),
        cv: cv.clone(),
        sqe_id: 0,
        uring,
    };
    let filler = Filler { mu, cv };

    (future, filler)
}
/// Create a new `Filler` and the `Completion`
/// that will be filled by its completion.
Create a new `Filler` and the `Completion`
that will be filled by its completion.
Create a new ` Filler ` and the ` Completion ` that will be filled by its completion .
pub fn pair<'a, C: FromCqe>(uring: &'a Uring) -> (Completion<'a, C>, Filler) {
    let mu = Arc::new(Mutex::new(CompletionState::default()));
    let cv = Arc::new(Condvar::new());
    let future = Completion {
        lifetime: PhantomData,
        mu: mu.clone(),
        cv: cv.clone(),
        sqe_id: 0,
        uring,
    };
    let filler = Filler { mu, cv };
    (future, filler)
}
pub fn pair < ' a , C : FromCqe > ( uring : & ' a Uring ) -> ( Completion < ' a , C > , Filler ) { let mu = Arc :: new ( Mutex :: new ( CompletionState :: default ( ) ) ) ; let cv = Arc :: new ( Condvar :: new ( ) ) ; let future = Completion { lifetime : PhantomData , mu : mu . clone ( ) , cv : cv . clone ( ) , sqe_id : 0 , uring , } ; let filler = Filler { mu , cv } ; ( future , filler ) }
Create a new `Filler` and the `Completion`
that will be filled by its completion.
Create a new ` Filler ` and the ` Completion ` that will be filled by its completion .
uring
&'a Uring
uring
&'a Uring