package util
import "golang.org/x/tools/godoc/util"
Package util contains utility types and functions for godoc.
Index ¶
- func IsText(s []byte) bool
- func IsTextFile(fs vfs.Opener, filename string) bool
- type RWValue
- type Throttle
Functions ¶
func IsText ¶
IsText reports whether a significant prefix of s looks like correct UTF-8; that is, if it is likely that s is human-readable text.
func IsTextFile ¶
IsTextFile reports whether the file has a known extension indicating a text file, or if a significant chunk of the specified file looks like correct UTF-8; that is, if it is likely that the file contains human- readable text.
Types ¶
type RWValue ¶
type RWValue struct {
// contains filtered or unexported fields
}
An RWValue wraps a value and permits mutually exclusive access to it and records the time the value was last set.
func (*RWValue) Get ¶
func (*RWValue) Set ¶
type Throttle ¶
type Throttle struct {
// contains filtered or unexported fields
}
A Throttle permits throttling of a goroutine by calling the Throttle method repeatedly.
func NewThrottle ¶
NewThrottle creates a new Throttle with a throttle value r and a minimum allocated run time slice of dt:
r == 0: "empty" throttle; the goroutine is always sleeping r == 1: full throttle; the goroutine is never sleeping
A value of r == 0.6 throttles a goroutine such that it runs approx. 60% of the time, and sleeps approx. 40% of the time. Values of r < 0 or r > 1 are clamped down to values between 0 and 1. Values of dt < 0 are set to 0.
func (*Throttle) Throttle ¶
func (p *Throttle) Throttle()
Throttle calls time.Sleep such that over time the ratio tr/ts between accumulated run (tr) and sleep times (ts) approximates the value 1/(1-r) where r is the throttle value. Throttle returns immediately (w/o sleeping) if less than tm ns have passed since the last call to Throttle.
Source Files ¶
throttle.go util.go
- Version
- v0.30.0 (latest)
- Published
- Feb 10, 2025
- Platform
- linux/amd64
- Imports
- 5 packages
- Last checked
- 5 hours ago –
Tools for package owners.