fn accept()

in src/core/admin/src/lib.rs [262:297]


    fn accept(&mut self) {
        ADMIN_SESSION_ACCEPT.increment();

        match self
            .listener
            .accept()
            .map(|v| ServerSession::new(Session::from(v), AdminRequestParser::default()))
        {
            Ok(mut session) => {
                let s = self.sessions.vacant_entry();
                let interest = session.interest();
                if session
                    .register(self.poll.registry(), Token(s.key()), interest)
                    .is_ok()
                {
                    ADMIN_SESSION_ACCEPT_OK.increment();
                    ADMIN_SESSION_CURR.increment();

                    s.insert(session);
                } else {
                    // failed to register
                    ADMIN_SESSION_ACCEPT_EX.increment();
                }

                self.backlog.push_back(LISTENER_TOKEN);
                let _ = self.waker.wake();
            }
            Err(e) => {
                if e.kind() != ErrorKind::WouldBlock {
                    ADMIN_SESSION_ACCEPT_EX.increment();
                    self.backlog.push_back(LISTENER_TOKEN);
                    let _ = self.waker.wake();
                }
            }
        }
    }