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  }