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(); } }