aeron-archive/src/main/java/io/aeron/archive/client/AeronArchive.java
public void close()
    {
        lock.lock();
        try
        {
            if (!isClosed)
            {
                isClosed = true;
                archiveProxy.closeSession(controlSessionId);

                if (!context.ownsAeronClient())
                {
                    CloseHelper.close(controlResponsePoller.subscription());
                    CloseHelper.close(archiveProxy.publication());
                }

                context.close();
            }
        }
        finally
        {
            lock.unlock();
        }
    }
public void close()
    {
        lock.lock();
        try
        {
            if (!isClosed)
            {
                isClosed = true;
                archiveProxy.closeSession(controlSessionId);

                if (!context.ownsAeronClient())
                {
                    CloseHelper.close(controlResponsePoller.subscription());
                    CloseHelper.close(archiveProxy.publication());
                }

                context.close();
            }
        }
        finally
        {
            lock.unlock();
        }
    }
public void close ( ) { lock . lock ( ) ; try { if ( ! isClosed ) { isClosed = true ; archiveProxy . closeSession ( controlSessionId ) ; if ( ! context . ownsAeronClient ( ) ) { CloseHelper . close ( controlResponsePoller . subscription ( ) ) ; CloseHelper . close ( archiveProxy . publication ( ) ) ; } context . close ( ) ; } } finally { lock . unlock ( ) ; } }
Notify the archive that this control session is closed so it can promptly release resources then close the
local resources associated with the client.
Notify the archive that this control session is closed so it can promptly release resources then close the local resources associated with the client .