public async Task WaitFlushFinish() { if (finilized) { return; } await semaphoreControl.WaitAsync(); try { this.publishEnded = true; internalTs.Cancel(); queueReaderTask.Wait(); await EndJSonWriteObject(); await jsonWriter.CloseAsync(); hashSetId.Clear(); } finally { finilized = true; semaphoreControl.Release(); } }
public override Task CloseAsync(CancellationToken cancellationToken = new CancellationToken()) => _writer.CloseAsync(cancellationToken);