code: protected final void setHandshakeComplete() {
          synchronized (this) {
              handshakeComplete = true;
          }
  
          ProxyIoSession proxyIoSession = getProxyIoSession();
          proxyIoSession.getConnector()
                  .fireConnected(proxyIoSession.getSession())
                  .awaitUninterruptibly();
  
          LOGGER.debug("  handshake completed");
  
          // Connected OK
          try {
              proxyIoSession.getEventQueue().flushPendingSessionEvents();
              flushPendingWriteRequests();
          } catch (Exception ex) {
              LOGGER.error("Unable to flush pending write requests", ex);
          }
      }
docs: Signals that the handshake has finished.