lib/context
import "github.com/eugenioenko/goalchemy/lib/context"Package context provides Goalchemy’s cancellation contexts; deadlines use the virtual clock.
| Function | c | csharp | go | java | python | rust | swift | typescript |
|---|---|---|---|---|---|---|---|---|
Background |
yes | yes | yes | yes | yes | yes | yes | yes |
Canceled |
yes | yes | yes | yes | yes | yes | yes | yes |
Context.Done |
yes | yes | yes | yes | yes | yes | yes | yes |
Context.Err |
yes | yes | yes | yes | yes | yes | yes | yes |
DeadlineExceeded |
yes | yes | yes | yes | yes | yes | yes | yes |
WithCancel |
yes | yes | yes | yes | yes | yes | yes | yes |
WithTimeout |
yes | yes | yes | yes | yes | yes | yes | yes |
Background
Section titled “Background”func Background() ContextThe never-cancelled root context.
- Gate:
sequential(never suspends) - Determinism: deterministic
- Contract:
std.context.background1.0.0
Canceled
Section titled “Canceled”var Canceled errorThe sentinel error for context canceled.
- Gate:
sequential(never suspends) - Determinism: deterministic
- Errors: Error() is context canceled.
- Contract:
std.context.canceled1.0.0
Context.Done
Section titled “Context.Done”func (ctx Context) Done() <-chan struct{}The channel closed on cancellation.
- Gate:
sequential(never suspends) - Determinism: deterministic
- Contract:
std.context.done1.0.0
Context.Err
Section titled “Context.Err”func (ctx Context) Err() errorNil until cancelled, then context.Canceled or context.DeadlineExceeded.
- Gate:
sequential(never suspends) - Determinism: deterministic
- Errors: context.Canceled has message context canceled; context.DeadlineExceeded has message context deadline exceeded.
- Contract:
std.context.err1.0.0
DeadlineExceeded
Section titled “DeadlineExceeded”var DeadlineExceeded errorThe sentinel error for context deadline exceeded.
- Gate:
sequential(never suspends) - Determinism: deterministic
- Errors: Error() is context deadline exceeded.
- Contract:
std.context.deadline_exceeded1.0.0
WithCancel
Section titled “WithCancel”func WithCancel(parent Context) (Context, CancelFunc)A child whose cancel function closes Done and sets Err to context.Canceled.
- Gate:
sequential(never suspends) - Determinism: deterministic
- Contract:
std.context.with_cancel1.0.0
WithTimeout
Section titled “WithTimeout”func WithTimeout(parent Context, d time.Duration) (Context, CancelFunc)A child cancelled with context.DeadlineExceeded after a scheduler-clock duration.
- Gate:
sequential(never suspends) - Determinism: controlled
- Contract:
std.context.with_timeout1.0.0