private void ConcludeMarkFile()
            {
                ClusterMarkFile.CheckHeaderLength(
                    aeron.Ctx().AeronDirectoryName(),
                    archiveContext.ControlRequestChannel(),
                    ServiceControlChannel(),
                    null,
                    serviceName,
                    null);

                var encoder = markFile.Encoder();

                encoder
                .ArchiveStreamId(archiveContext.ControlRequestStreamId())
                .ServiceStreamId(serviceStreamId)
                .ConsensusModuleStreamId(consensusModuleStreamId)
                .IngressStreamId(0)
                .MemberId(Adaptive.Aeron.Aeron.NULL_VALUE)
                .ServiceId(serviceId)
                .AeronDirectory(aeron.Ctx().AeronDirectoryName())
                .ArchiveChannel(archiveContext.ControlRequestChannel())
                .ServiceControlChannel(serviceControlChannel)
                .IngressChannel("")
                .ServiceName(serviceName)
                .Authenticator("");

                markFile.UpdateActivityTimestamp(epochClock.Time());
                markFile.SignalReady();
            }
            private void ConcludeMarkFile()
            {
                if (null == markFile)
                {
                    int alignedTotalCncFileLength = ClusterMarkFile.AlignedTotalFileLength(
                        ClusterMarkFile.ALIGNMENT,
                        aeron.Ctx().AeronDirectoryName(),
                        archiveContext.ControlRequestChannel(),
                        ServiceControlChannel(),
                        null,
                        serviceName,
                        null);

                    markFile = new ClusterMarkFile(
                        new FileInfo(Path.Combine(clusteredServiceDir.FullName, ClusterMarkFile.FILENAME)),
                        ClusterComponentType.CONTAINER,
                        alignedTotalCncFileLength,
                        epochClock,
                        0);

                    MarkFileHeaderEncoder cncEncoder = markFile.Encoder();

                    cncEncoder
                    .ArchiveStreamId(archiveContext.ControlRequestStreamId())
                    .ServiceControlStreamId(serviceControlStreamId)
                    .IngressStreamId(0)
                    .MemberId(-1)
                    .ServiceId(serviceId)
                    .AeronDirectory(aeron.Ctx().AeronDirectoryName())
                    .ArchiveChannel(archiveContext.ControlRequestChannel())
                    .ServiceControlChannel(serviceControlChannel)
                    .IngressChannel("")
                    .ServiceName(serviceName)
                    .Authenticator("");

                    markFile.UpdateActivityTimestamp(epochClock.Time());
                    markFile.SignalReady();
                }
            }