aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/modern-go/concurrent/executor.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/modern-go/concurrent/executor.go')
-rw-r--r--vendor/github.com/modern-go/concurrent/executor.go14
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 0000000..623dba1
--- /dev/null
+++ b/vendor/github.com/modern-go/concurrent/executor.go
@@ -0,0 +1,14 @@
1package concurrent
2
3import "context"
4
5// Executor replace go keyword to start a new goroutine
6// the goroutine should cancel itself if the context passed in has been cancelled
7// the goroutine started by the executor, is owned by the executor
8// we can cancel all executors owned by the executor just by stop the executor itself
9// however Executor interface does not Stop method, the one starting and owning executor
10// should use the concrete type of executor, instead of this interface.
11type Executor interface {
12 // Go starts a new goroutine controlled by the context
13 Go(handler func(ctx context.Context))
14}