@Override
        public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
            if (evt instanceof ProxySuccessEvent) {
                // Sleep as much as defaultWriteTimeoutMillis in order to make sure that the
                // first writing to the channel occurs after ProxySuccessEvent is triggered.
                // If the first writing happens before ProxySuccessEvent is triggered,
                // the client would get WriteTimeoutException that makes the test fail.
                BlockingUtils.blockingRun(() -> Thread.sleep(Flags.defaultWriteTimeoutMillis()));
            }
            super.userEventTriggered(ctx, evt);
        }
Tests if a request is failed with {@link SessionProtocolNegotiationException} if a session negotiation
with the backend server takes longer than a connection timeout.

<p>Cleartext protocol are not used because the session could immediately complete when a connection is
established with the proxy server.
core/src/test/java/com/linecorp/armeria/client/proxy/ProxyClientIntegrationTest.java