A corner case that when the caller of quicer:handshake is not the owner of the connection, it will get {error, timeout} even with handshake success because the quicer:handshake waits for the async event {quic, connected, .. } or {quic, closed, ...}
The owner of the connection maybe changed by the calling quicer:controlling_process
We don't have solution for that. Maybe update the doc.