pub async fn run<'m, F, S>(
    conn: &Connection,
    server: &S,
    f: F
) -> DisconnectedError
where F: FnMut(S::Event), S: Server,