Documentation
¶
Index ¶
- func CloseAfterContext(p goprocess.Process, ctx context.Context)
- func OnClosedContext(p goprocess.Process) context.Context
- func OnClosingContext(p goprocess.Process) context.Context
- func WaitForContext(ctx context.Context, p goprocess.Process)
- func WithContext(ctx context.Context) goprocess.Process
- func WithContextAndTeardown(ctx context.Context, tf goprocess.TeardownFunc) goprocess.Process
- func WithProcessClosed(ctx context.Context, p goprocess.Process) context.Context
- func WithProcessClosing(ctx context.Context, p goprocess.Process) context.Context
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CloseAfterContext ¶ added in v0.3.6
CloseAfterContext schedules the process to close after the given context is done. It is the equivalent of:
func CloseAfterContext(p goprocess.Process, ctx context.Context) {
go func() {
<-ctx.Done()
p.Close()
}()
}
func OnClosedContext ¶ added in v0.3.8
OnClosedContext derives a context from a given goprocess that will be 'Done' when the process is closed
func OnClosingContext ¶ added in v0.3.8
OnClosingContext derives a context from a given goprocess that will be 'Done' when the process is closing
func WaitForContext ¶
WaitForContext makes p WaitFor ctx. When Closing, p waits for ctx.Done(), before being Closed(). It is simply:
p.WaitFor(goprocess.WithContext(ctx))
func WithContext ¶
WithContext constructs and returns a Process that respects given context. It is the equivalent of:
func ProcessWithContext(ctx context.Context) goprocess.Process {
p := goprocess.WithParent(goprocess.Background())
CloseAfterContext(p, ctx)
return p
}
func WithContextAndTeardown ¶ added in v0.3.6
WithContextAndTeardown is a helper function to set teardown at initiation of WithContext
func WithProcessClosed ¶
WithProcessClosed returns a context.Context that is cancelled after Process p is Closed. It is the equivalent of:
func WithProcessClosed(ctx context.Context, p goprocess.Process) context.Context {
ctx, cancel := context.WithCancel(ctx)
go func() {
<-p.Closed()
cancel()
}()
return ctx
}
func WithProcessClosing ¶
WithProcessClosing returns a context.Context derived from ctx that is cancelled as p is Closing (after: <-p.Closing()). It is simply:
func WithProcessClosing(ctx context.Context, p goprocess.Process) context.Context {
ctx, cancel := context.WithCancel(ctx)
go func() {
<-p.Closing()
cancel()
}()
return ctx
}
Types ¶
This section is empty.