pub fn pop(&self) -> char {
        let mut buf_lock = self.buf.lock();
        let c = buf_lock.pop_front().unwrap();
        if buf_lock.len() == 0 {
            self.eventbus.lock().clear(Event::READABLE);
        }
        c
    }
/// pop a char in Stdin buffer
pop a char in Stdin buffer
pop a char in Stdin buffer
pub fn pop(&self) -> char {
        let mut buf_lock = self.buf.lock();
        let c = buf_lock.pop_front().unwrap();
        if buf_lock.len() == 0 {
            self.eventbus.lock().clear(Event::READABLE);
        }
        c
    }
pub fn pop ( & self ) -> char { let mut buf_lock = self . buf . lock ( ) ; let c = buf_lock . pop_front ( ) . unwrap ( ) ; if buf_lock . len ( ) == 0 { self . eventbus . lock ( ) . clear ( Event :: READABLE ) ; } c }
pop a char in Stdin buffer
pop a char in Stdin buffer
&self
&self