aeron-archive/src/main/java/io/aeron/archive/client/AeronArchive.java
public long startRecording(final String channel, final int streamId, final SourceLocation sourceLocation)
    {
        lock.lock();
        try
        {
            ensureOpen();

            final long correlationId = aeron.nextCorrelationId();

            if (!archiveProxy.startRecording(channel, streamId, sourceLocation, correlationId, controlSessionId))
            {
                throw new ArchiveException("failed to send start recording request");
            }

            return pollForResponse(correlationId);
        }
        finally
        {
            lock.unlock();
        }
    }
public long startRecording(final String channel, final int streamId, final SourceLocation sourceLocation)
    {
        lock.lock();
        try
        {
            ensureOpen();

            final long correlationId = aeron.nextCorrelationId();

            if (!archiveProxy.startRecording(channel, streamId, sourceLocation, correlationId, controlSessionId))
            {
                throw new ArchiveException("failed to send start recording request");
            }

            return pollForResponse(correlationId);
        }
        finally
        {
            lock.unlock();
        }
    }
public long startRecording ( final String channel , final int streamId , final SourceLocation sourceLocation ) { lock . lock ( ) ; try { ensureOpen ( ) ; final long correlationId = aeron . nextCorrelationId ( ) ; if ( ! archiveProxy . startRecording ( channel , streamId , sourceLocation , correlationId , controlSessionId ) ) { throw new ArchiveException ( "failed to send start recording request" ) ; } return pollForResponse ( correlationId ) ; } finally { lock . unlock ( ) ; } }
Start recording a channel and stream pairing.
<p>
Channels that include sessionId parameters are considered different than channels without sessionIds. If a
publication matches both a sessionId specific channel recording and a non-sessionId specific recording, it will
be recorded twice.

@param channel        to be recorded.
@param streamId       to be recorded.
@param sourceLocation of the publication to be recorded.
@return the subscriptionId, i.e. {@link Subscription#registrationId()}, of the recording.
Start recording a channel and stream pairing . <p > Channels that include sessionId parameters are considered different than channels without sessionIds . If a publication matches both a sessionId specific channel recording and a non - sessionId specific recording it will be recorded twice .