diff options
| author | Gibheer <gibheer+git@zero-knowledge.org> | 2024-09-05 19:38:25 +0200 | 
|---|---|---|
| committer | Gibheer <gibheer+git@zero-knowledge.org> | 2024-09-05 19:38:25 +0200 | 
| commit | 6ea4d2c82de80efc87708e5e182034b7c6c2019e (patch) | |
| tree | 35c0856a929040216c82153ca62d43b27530a887 /vendor/github.com/jackc/puddle/v2/context.go | |
| parent | 6f64eeace1b66639b9380b44e88a8d54850a4306 (diff) | |
lib/pq is out of maintenance for some time now, so switch to the newer
more active library. Looks like it finally stabilized after a long time.
Diffstat (limited to 'vendor/github.com/jackc/puddle/v2/context.go')
| -rw-r--r-- | vendor/github.com/jackc/puddle/v2/context.go | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/vendor/github.com/jackc/puddle/v2/context.go b/vendor/github.com/jackc/puddle/v2/context.go new file mode 100644 index 0000000..e19d2a6 --- /dev/null +++ b/vendor/github.com/jackc/puddle/v2/context.go @@ -0,0 +1,24 @@ +package puddle + +import ( +	"context" +	"time" +) + +// valueCancelCtx combines two contexts into one. One context is used for values and the other is used for cancellation. +type valueCancelCtx struct { +	valueCtx  context.Context +	cancelCtx context.Context +} + +func (ctx *valueCancelCtx) Deadline() (time.Time, bool) { return ctx.cancelCtx.Deadline() } +func (ctx *valueCancelCtx) Done() <-chan struct{}       { return ctx.cancelCtx.Done() } +func (ctx *valueCancelCtx) Err() error                  { return ctx.cancelCtx.Err() } +func (ctx *valueCancelCtx) Value(key any) any           { return ctx.valueCtx.Value(key) } + +func newValueCancelCtx(valueCtx, cancelContext context.Context) context.Context { +	return &valueCancelCtx{ +		valueCtx:  valueCtx, +		cancelCtx: cancelContext, +	} +} | 
