From 5e158b51db1022318e95d1998d2fc9fc50f061f1 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sat, 9 Jun 2018 17:34:38 +0800 Subject: vendor: add new dependencies --- vendor/github.com/modern-go/concurrent/executor.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 vendor/github.com/modern-go/concurrent/executor.go (limited to 'vendor/github.com/modern-go/concurrent/executor.go') 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 00000000..623dba1a --- /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)) +} -- cgit v1.2.3