tailscale.comtailscale.com/util/execqueue Index | Files

package execqueue

import "tailscale.com/util/execqueue"

Package execqueue implements an ordered asynchronous queue for executing functions.

Index

Types

type ExecQueue

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

func (*ExecQueue) Add

func (q *ExecQueue) Add(f func())

func (*ExecQueue) RunSync

func (q *ExecQueue) RunSync(ctx context.Context, f func()) error

RunSync waits for the queue to be drained and then synchronously runs f. It returns an error if the queue is closed before f is run or ctx expires.

func (*ExecQueue) Shutdown

func (q *ExecQueue) Shutdown()

Shutdown asynchronously signals the queue to stop.

func (*ExecQueue) Wait

func (q *ExecQueue) Wait(ctx context.Context) error

Wait waits for the queue to be empty.

Source Files

execqueue.go

Version
v1.84.0 (latest)
Published
May 21, 2025
Platform
linux/amd64
Imports
3 packages
Last checked
1 day ago

Tools for package owners.