...

Package ctxwatch

import "github.com/jackc/pgx/v5/pgconn/internal/ctxwatch"
Overview
Index

Overview ▾

type ContextWatcher

ContextWatcher watches a context and performs an action when the context is canceled. It can watch one context at a time.

type ContextWatcher struct {
    // contains filtered or unexported fields
}

func NewContextWatcher

func NewContextWatcher(onCancel func(), onUnwatchAfterCancel func()) *ContextWatcher

NewContextWatcher returns a ContextWatcher. onCancel will be called when a watched context is canceled. OnUnwatchAfterCancel will be called when Unwatch is called and the watched context had already been canceled and onCancel called.

func (*ContextWatcher) Unwatch

func (cw *ContextWatcher) Unwatch()

Unwatch stops watching the previously watched context. If the onCancel function passed to NewContextWatcher was called then onUnwatchAfterCancel will also be called.

func (*ContextWatcher) Watch

func (cw *ContextWatcher) Watch(ctx context.Context)

Watch starts watching ctx. If ctx is canceled then the onCancel function passed to NewContextWatcher will be called.