https://github.com/bitcoin/bitcoin/commit/2b781ad66e34000037f589c71366c203255ed058#r83655059
: m_control_host{control_host},
      m_interrupt{interrupt},
      m_control_sock{std::make_unique<Sock>(INVALID_SOCKET)},
      m_transient{true}
{
}
Session::~Session()
{
    LOCK(m_mutex);
    Disconnect();
}
bool Session::Listen(Connection& conn)
{
    try {
        LOCK(m_mutex);
        CreateIfNotCreatedAlready();
        conn.me = m_my_addr;
        conn.sock = StreamAccept();
        return true;
    } catch (const std::runtime_error& e) {
        Log("Error listening: %s", e.what());
        CheckControlSock();
    }
    return false;
}
bool Session::Accept(Connection& conn)