Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
15 lines
613 B
Go
15 lines
613 B
Go
package concurrent
|
|
|
|
import "context"
|
|
|
|
// Executor replace go keyword to start a new goroutine
|
|
// the goroutine should cancel itself if the context passed in has been cancelled
|
|
// the goroutine started by the executor, is owned by the executor
|
|
// we can cancel all executors owned by the executor just by stop the executor itself
|
|
// however Executor interface does not Stop method, the one starting and owning executor
|
|
// should use the concrete type of executor, instead of this interface.
|
|
type Executor interface {
|
|
// Go starts a new goroutine controlled by the context
|
|
Go(handler func(ctx context.Context))
|
|
}
|