aboutsummaryrefslogtreecommitdiff
path: root/mixins.go
diff options
context:
space:
mode:
Diffstat (limited to 'mixins.go')
-rwxr-xr-xmixins.go90
1 files changed, 0 insertions, 90 deletions
diff --git a/mixins.go b/mixins.go
deleted file mode 100755
index aea08ef..0000000
--- a/mixins.go
+++ /dev/null
@@ -1,90 +0,0 @@
-package rutina
-
-import (
- "context"
- "log"
- "os"
- "syscall"
-)
-
-// Mixin interface
-type Mixin interface {
- apply(*Rutina)
-}
-
-// MixinContext propagates user defined context to rutina
-type MixinContext struct {
- Context context.Context
-}
-
-// WithContext propagates user defined context to rutina
-func WithContext(context context.Context) *MixinContext {
- return &MixinContext{Context: context}
-}
-
-func (o MixinContext) apply(r *Rutina) {
- ctx, cancel := context.WithCancel(o.Context)
- r.ctx = ctx
- r.Cancel = cancel
-}
-
-// MixinLogger adds logger to rutina
-type MixinLogger struct {
- Logger *log.Logger
-}
-
-// WithLogger adds custom logger to rutina
-func WithLogger(logger *log.Logger) *MixinLogger {
- return &MixinLogger{Logger: logger}
-}
-
-// WithStdLogger adds standard logger to rutina
-func WithStdLogger() *MixinLogger {
- return &MixinLogger{Logger: log.New(os.Stdout, "[rutina]", log.LstdFlags)}
-}
-
-func (o MixinLogger) apply(r *Rutina) {
- r.logger = o.Logger
-}
-
-// MixinErrChan turns on errors channel on rutina
-type MixinErrChan struct {
-}
-
-// WithErrChan turns on errors channel on rutina
-func WithErrChan() *MixinErrChan {
- return &MixinErrChan{}
-}
-
-func (o MixinErrChan) apply(r *Rutina) {
- r.errCh = make(chan error, 1)
-}
-
-type LifecycleListener func(event Event, routineID int)
-
-type LifecycleMixin struct {
- Listener LifecycleListener
-}
-
-func (l LifecycleMixin) apply(r *Rutina) {
- r.lifecycleListener = l.Listener
-}
-
-func WithLifecycleListener(listener LifecycleListener) *LifecycleMixin {
- return &LifecycleMixin{Listener: listener}
-}
-
-type ListenOsSignalsMixin struct {
- Signals []os.Signal
-}
-
-func (l ListenOsSignalsMixin) apply(r *Rutina) {
- r.autoListenSignals = l.Signals
-}
-
-func WithListenOsSignals(signals ...os.Signal) *ListenOsSignalsMixin {
- if len(signals) == 0 {
- signals = []os.Signal{syscall.SIGINT, syscall.SIGTERM}
- }
- return &ListenOsSignalsMixin{Signals: signals}
-}