Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Analyzer ¶
type Analyzer interface {
// Analyze returns the subset of inFlight batches that conflict with
// batch, each paired with the type of conflict detected. An empty
// result means batch does not conflict with any in-flight batch.
//
// Callers should not include batch itself in inFlight; terminal batches
// should be filtered out before calling. A non-nil error indicates the
// analysis itself failed (infrastructure issue) and should be treated as
// retryable by the caller.
Analyze(ctx context.Context, batch entity.Batch, inFlight []entity.Batch) ([]entity.Conflict, error)
}
Analyzer detects conflicts between a candidate batch and the batches already in flight, so the speculation layer can decide which batches can safely advance in parallel.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package all provides a conflict.Analyzer that pessimistically reports a conflict against every in-flight batch.
|
Package all provides a conflict.Analyzer that pessimistically reports a conflict against every in-flight batch. |
|
Package fake provides a conflict.Analyzer that decorates an existing analyzer: it delegates to the wrapped implementation for the happy path, but injects an error when a caller-supplied predicate matches.
|
Package fake provides a conflict.Analyzer that decorates an existing analyzer: it delegates to the wrapped implementation for the happy path, but injects an error when a caller-supplied predicate matches. |
|
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
|
Package none provides a conflict.Analyzer that never reports a conflict.
|
Package none provides a conflict.Analyzer that never reports a conflict. |
|
Package pathoverlap provides a conflict.Analyzer that reports a conflict between two batches when the paths they change share a key.
|
Package pathoverlap provides a conflict.Analyzer that reports a conflict between two batches when the paths they change share a key. |
Click to show internal directories.
Click to hide internal directories.