diff options
| author | Taras Madan <tarasmadan@google.com> | 2024-06-17 11:50:19 +0200 |
|---|---|---|
| committer | Taras Madan <tarasmadan@google.com> | 2024-06-20 09:22:00 +0000 |
| commit | c576ee0969cd731f1a1543712b62a4933480136e (patch) | |
| tree | 9a44d2537287b0519470c9fe6d242963fdedd7f7 /vendor/github.com/modern-go/concurrent/executor.go | |
| parent | 41b7e219b69c98529757e036f4b8fb1e9fa77040 (diff) | |
vendor: spanner
Diffstat (limited to 'vendor/github.com/modern-go/concurrent/executor.go')
| -rw-r--r-- | vendor/github.com/modern-go/concurrent/executor.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/vendor/github.com/modern-go/concurrent/executor.go b/vendor/github.com/modern-go/concurrent/executor.go new file mode 100644 index 000000000..623dba1ac --- /dev/null +++ b/vendor/github.com/modern-go/concurrent/executor.go @@ -0,0 +1,14 @@ +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)) +} |
