package pwalkdir

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

Index

Functions

func Walk

func Walk(root string, walkFn fs.WalkDirFunc) error

Walk is a wrapper for filepath.WalkDir 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 fs.WalkDirFunc, num int) error

WalkN is a wrapper for filepath.WalkDir 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.

Source Files

pwalkdir.go

Version
v1.8.5
Published
Sep 9, 2021
Platform
js/wasm
Imports
5 packages
Last checked
2 hours ago

Tools for package owners.