in src/core/admin/src/lib.rs [404:441]
fn session_event(&mut self, event: &Event) {
let token = event.token();
if event.is_error() {
ADMIN_EVENT_ERROR.increment();
self.close(token);
return;
}
if event.is_writable() {
ADMIN_EVENT_WRITE.increment();
if self.write(token).is_err() {
self.close(token);
return;
}
}
if event.is_readable() {
ADMIN_EVENT_READ.increment();
if self.read(token).is_err() {
self.close(token);
return;
}
}
match self.handshake(token) {
Ok(_) => {}
Err(e) => match e.kind() {
ErrorKind::WouldBlock => {}
_ => {
self.close(token);
}
},
}
}