pub fn drain(&mut self) {
        loop {
            self.complete_frames();
            self.put_batch_on_tx_queue();
            if self.outstanding_tx_frames == 0 {
                break;
            }
        }
    }
/// Wait until all outstanding tx packets have come back on the comp queue
Wait until all outstanding tx packets have come back on the comp queue
Wait until all outstanding tx packets have come back on the comp queue
pub fn drain(&mut self) {
        loop {
            self.complete_frames();
            self.put_batch_on_tx_queue();
            if self.outstanding_tx_frames == 0 {
                break;
            }
        }
    }
pub fn drain ( & mut self ) { loop { self . complete_frames ( ) ; self . put_batch_on_tx_queue ( ) ; if self . outstanding_tx_frames == 0 { break ; } } }
Wait until all outstanding tx packets have come back on the comp queue
Wait until all outstanding tx packets have come back on the comp queue
&mut self
&mut self