Versions in this module Expand all Collapse all v0 v0.1.0 Aug 14, 2025 Changes in this version + var ErrRetry = errors.New("retry") + func MonotonicallyIncreasingNextLeaf() func(uint64) uint64 + func NewController(h *Hammer, a *HammerAnalyser) *tuiController + func RandomNextLeaf() func(uint64) uint64 + type ClientOpts struct + BearerToken string + BearerTokenWrite string + Client *http.Client + type Hammer struct + func NewHammer(tracker *client.LogStateTracker, f client.EntryBundleFetcherFunc, w LeafWriter, ...) *Hammer + func (h *Hammer) Run(ctx context.Context) + type HammerAnalyser struct + ErrChan chan error + IntegrationTime *movingaverage.ConcurrentMovingAverage + QueueTime *movingaverage.ConcurrentMovingAverage + SeqLeafChan chan LeafTime + func NewHammerAnalyser(treeSizeFn func() uint64) *HammerAnalyser + func (a *HammerAnalyser) Run(ctx context.Context) + type HammerOpts struct + MMDDuration time.Duration + MaxReadOpsPerSecond int + MaxWriteOpsPerSecond int + NumMMDVerifiers int + NumReadersFull int + NumReadersRandom int + NumWriters int + type LeafMMD struct + type LeafReader struct + func NewLeafReader(tracker *client.LogStateTracker, f client.EntryBundleFetcherFunc, ...) *LeafReader + func (r *LeafReader) Kill() + func (r *LeafReader) Run(ctx context.Context) + type LeafTime struct + AssignedAt time.Time + Index uint64 + QueuedAt time.Time + type LeafWriter func(ctx context.Context, data []byte) (index uint64, timestamp uint64, err error) + func NewRoundRobinWriter(w []LeafWriter) LeafWriter + type LogReader interface + ReadCheckpoint func(ctx context.Context) ([]byte, error) + ReadEntryBundle func(ctx context.Context, i uint64, p uint8) ([]byte, error) + ReadTile func(ctx context.Context, l, i uint64, p uint8) ([]byte, error) + func NewRoundRobinReader(r []LogReader) LogReader + type LogWriter struct + func NewLogWriter(writer LeafWriter, gen func() rfc6962.AddChainRequest, throttle <-chan bool, ...) *LogWriter + func (w *LogWriter) Kill() + func (w *LogWriter) Run(ctx context.Context) + type MMDVerifier struct + func NewMMDVerifier(tracker *client.LogStateTracker, mmdDuration time.Duration, ...) *MMDVerifier + func (v *MMDVerifier) Kill() + func (v *MMDVerifier) Run(ctx context.Context) + type Throttle struct + TokenChan chan bool + func NewThrottle(opsPerSecond int) *Throttle + func (t *Throttle) Decrease() + func (t *Throttle) Increase() + func (t *Throttle) Run(ctx context.Context) + func (t *Throttle) String() string + type Worker interface + Kill func() + Run func(ctx context.Context) + type WorkerPool struct + func NewWorkerPool(factory func() Worker) WorkerPool + func (p *WorkerPool) Grow(ctx context.Context) + func (p *WorkerPool) Shrink(ctx context.Context) + func (p *WorkerPool) Size() int