package pwalk

import "github.com/opencontainers/selinux/pkg/pwalk"

Index

Functions

func Walk

func Walk(root string, walkFn WalkFunc) error

Walk is a wrapper for filepath.Walk which can call multiple walkFn in parallel, allowing to handle each item concurrently. A maximum of twice the runtime.NumCPU() walkFn will be called at any one time. If you want to change the maximum, use WalkN instead.

The order of calls is non-deterministic.

Note that this implementation only supports primitive error handling:

- no errors are ever passed to WalkFn;

- once a walkFn returns any error, all further processing stops and the error is returned to the caller of Walk;

- filepath.SkipDir is not supported;

- if more than one walkFn instance will return an error, only one of such errors will be propagated and returned by Walk, others will be silently discarded.

func WalkN

func WalkN(root string, walkFn WalkFunc, num int) error

WalkN is a wrapper for filepath.Walk which can call multiple walkFn in parallel, allowing to handle each item concurrently. A maximum of num walkFn will be called at any one time.

Please see Walk documentation for caveats of using this function.

Types

type WalkFunc

type WalkFunc = filepath.WalkFunc

Source Files

pwalk.go

Version
v1.8.2
Published
Jun 2, 2021
Platform
js/wasm
Imports
5 packages
Last checked
2 hours ago

Tools for package owners.