github.com/ngicks/gokugen@v0.0.5/task_storage/task_wrapper.go (about) 1 package taskstorage 2 3 import ( 4 "github.com/ngicks/gokugen" 5 ) 6 7 var _ gokugen.Task = &taskWrapper{} 8 9 type taskWrapper struct { 10 gokugen.Task 11 cancel func(baseCanceller func(err error) (cancelled bool)) func(err error) (cancelled bool) 12 } 13 14 func (fw *taskWrapper) Cancel() (cancelled bool) { 15 return fw.cancel(func(err error) (cancelled bool) { return fw.Task.Cancel() })(nil) 16 } 17 18 func (fw *taskWrapper) CancelWithReason(reason error) (cancelled bool) { 19 return fw.cancel(fw.Task.CancelWithReason)(reason) 20 }