internal/bundleuri/strategy.go (9 lines of code) (raw):

package bundleuri import ( "context" "gitlab.com/gitlab-org/gitaly/v16/internal/git/localrepo" ) // StrategyCallbackFn defines a function type that the `Evaluate` method // of the `GenerationStrategy` expects as a callback. type StrategyCallbackFn func(ctx context.Context, repo *localrepo.Repo) error // GenerationStrategy is the common interface that all bundle generation // strategies must implement. type GenerationStrategy interface { // Evaluate evaluates if a bundle must be generated for the given repository, and // calls the callback function `cb` if it does. // - ctx: must be the context of the current RPC // - repo: the repository for which the strategy must determine if a bundle needs to be generated // - cb: a callback function to be called **only if** the strategy determines that a bundle must be generated Evaluate(ctx context.Context, repo *localrepo.Repo, cb StrategyCallbackFn) error }