pub(crate) async fn handle_stream_request(
    socket: Rc<RefCell<StreamSocket>>,
    request: Result<StreamSocketRequest, Error>,
    sockets: &mut HashMap<SocketAddress, Rc<RefCell<StreamSocket>>>,
    stream_requests: &mut SelectAll<Tagged<Rc<RefCell<StreamSocket>>, StreamSocketRequestStream>>
) -> Result<(), Error>