<PackageReference Include="OpenTelemetry" Version="1.20.0-rc.1" />

OpenTelemetry.Internal.BatchExportWorker<T>

abstract class BatchExportWorker<T> : IDisposable
protected CircularBuffer<T> CircularBuffer { get; }

protected BaseExporter<T> Exporter { get; }

protected int ExporterTimeoutMilliseconds { get; }

protected int MaxExportBatchSize { get; }

protected int ScheduledDelayMilliseconds { get; }

protected long ShutdownDrainTarget { get; }

protected BatchExportWorker(CircularBuffer<T> circularBuffer, BaseExporter<T> exporter, int maxExportBatchSize, int scheduledDelayMilliseconds, int exporterTimeoutMilliseconds, Action<long> exportStarted = null)

public void Dispose()

protected virtual void Dispose(bool disposing)

public void IncrementDroppedCount()

protected void PerformExport()

protected void SetShutdownDrainTarget(long target)

protected bool ShouldShutdown()

public abstract bool Shutdown(int timeoutMilliseconds)

public abstract void Start()

public abstract bool TriggerExport()

public abstract bool WaitForExport(int timeoutMilliseconds)