https://github.com/bitcoin/bitcoin/commit/2b781ad66e34000037f589c71366c203255ed058#r83655059
{
    
    
    if (to.GetPort() != I2P_SAM31_PORT) {
        proxy_error = false;
        return false;
    }
    proxy_error = true;
    std::string session_id;
    std::unique_ptr<Sock> sock;
    conn.peer = to;
    try {
        {
            LOCK(m_mutex);
            CreateIfNotCreatedAlready();
            session_id = m_session_id;
            conn.me = m_my_addr;
            sock = Hello();
        }
        const Reply& lookup_reply =
            SendRequestAndGetReply(*sock, strprintf("NAMING LOOKUP NAME=%s", to.ToStringIP()));
        const std::string& dest = lookup_reply.Get("VALUE");
        const Reply& connect_reply = SendRequestAndGetReply(
            *sock, strprintf("STREAM CONNECT ID=%s DESTINATION=%s SILENT=false", session_id, dest),
            false);
        const std::string& result = connect_reply.Get("RESULT");
        if (result == "OK") {
            conn.sock = std::move(sock);
            return true;
        }