pub fn block(&self) {
        while self.has_work.load(Ordering::SeqCst) {
            std::thread::sleep(std::time::Duration::from_millis(1));
        }
    }
Wait until the background thread has finished processing messages
src/buffer.rs