Documentation ¶
Overview ¶
These functions are coming from consul/lib/eof.go
Index ¶
- func CheckHCLKeys(node ast.Node, valid []string) error
- func CheckNamespaceScope(provided string, requested []string) []string
- func CleanEnvVar(s string, r byte) string
- func CleanFilename(filename string, replace string) string
- func CleanFilenameASCIIOnly(filename string, replace string) string
- func CleanFilenameStrict(filename string, replace string) string
- func ConvertSlice[A, B any](original []A, conversion func(a A) B) []B
- func CopyMapOfSlice[K comparable, V any](m map[K][]V) map[K][]V
- func CopySlice[S ~[]E, E Copyable[E]](s S) S
- func DeepCopyMap[M ~map[K]V, K comparable, V Copyable[V]](m M) M
- func ElementsEqual[T EqualFunc[T]](a, b []T) bool
- func HashUUID(input string) (output string, hashed bool)
- func IsDisjoint[T comparable](first, second []T) (bool, []T)
- func IsErrEOF(err error) bool
- func IsMethodHTTP(s string) bool
- func IsSubset[T comparable](larger, smaller []T) (bool, []T)
- func IsUUID(str string) bool
- func IsValidInterpVariable(str string) bool
- func Max[T constraints.Ordered](a, b T) T
- func Merge[T comparable](a, b T) T
- func MergeMapStringString(m map[string]string, n map[string]string) map[string]string
- func MergeMultierrorWarnings(errs ...error) string
- func Min[T constraints.Ordered](a, b T) T
- func OpaqueMapsEqual[M ~map[K]V, K comparable, V any](m1, m2 M) bool
- func RandomStagger(interval time.Duration) time.Duration
- func RateScaledInterval(rate float64, min time.Duration, n int) time.Duration
- func RemoveEqualFold(xs *[]string, search string)
- func SliceSetEq[T comparable](a, b []T) bool
- func StringHasPrefixInSlice(s string, prefixes []string) bool
- func UniqueMapSliceValues[K, V comparable](m map[K][]V) []V
- func UnusedKeys(obj interface{}) error
- func WithLock(lock sync.Locker, f func())
- type Copyable
- type EqualFunc
- type StopFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckNamespaceScope ¶ added in v0.12.2
CheckNamespaceScope ensures that the provided namespace is equal to or a parent of the requested namespaces. Returns requested namespaces which are not equal to or a child of the provided namespace.
func CleanEnvVar ¶ added in v0.5.5
CleanEnvVar replaces all occurrences of illegal characters in an environment variable with the specified byte.
func CleanFilename ¶ added in v1.0.0
CleanFilename replaces invalid characters in filename
func CleanFilenameASCIIOnly ¶ added in v1.0.0
CleanFilenameASCIIOnly replaces invalid and non-ASCII characters in filename
func CleanFilenameStrict ¶ added in v1.0.0
CleanFilenameStrict replaces invalid and punctuation characters in filename
func ConvertSlice ¶ added in v1.2.15
func ConvertSlice[A, B any](original []A, conversion func(a A) B) []B
ConvertSlice takes the input slice and generates a new one using the supplied conversion function to covert the element. This is useful when converting a slice of strings to a slice of structs which wraps the string.
func CopyMapOfSlice ¶ added in v1.2.13
func CopyMapOfSlice[K comparable, V any](m map[K][]V) map[K][]V
CopyMapOfSlice creates a copy of m, making copies of each []V.
func CopySlice ¶ added in v1.2.13
func CopySlice[S ~[]E, E Copyable[E]](s S) S
CopySlice creates a deep copy of s. For slices with elements that do not implement Copy(), use slices.Clone.
func DeepCopyMap ¶ added in v1.2.13
func DeepCopyMap[M ~map[K]V, K comparable, V Copyable[V]](m M) M
DeepCopyMap creates a copy of m by calling Copy() on each value.
If m is nil the return value is nil.
func ElementsEqual ¶ added in v1.5.0
ElementsEqual returns true if slices a and b contain the same elements (in no particular order) using the Equal function defined on their type for comparison.
func HashUUID ¶ added in v0.6.0
HashUUID takes an input UUID and returns a hashed version of the UUID to ensure it is well distributed.
func IsDisjoint ¶ added in v1.2.13
func IsDisjoint[T comparable](first, second []T) (bool, []T)
IsDisjoint returns whether first and second are disjoint sets, and the set of offending elements if not.
func IsErrEOF ¶ added in v1.3.0
IsErrEOF returns true if we get an EOF error from the socket itself, or an EOF equivalent error from yamux.
func IsMethodHTTP ¶ added in v1.2.11
IsMethodHTTP returns whether s is a known HTTP method, ignoring case.
func IsSubset ¶ added in v1.2.13
func IsSubset[T comparable](larger, smaller []T) (bool, []T)
IsSubset returns whether the smaller set of items is a subset of the larger. If the smaller set is not a subset, the offending elements are returned.
func IsValidInterpVariable ¶ added in v0.9.0
IsValidInterpVariable returns true if a valid dotted variable names for interpolation. The string must begin with one or more non-dot characters which may be followed by sequences containing a dot followed by a one or more non-dot characters.
func Max ¶ added in v1.2.11
func Max[T constraints.Ordered](a, b T) T
Max returns the maximum of a and b.
func Merge ¶ added in v1.5.0
func Merge[T comparable](a, b T) T
Merge takes two variables and returns variable b in case a has zero value. For pointer values please use pointer.Merge.
func MergeMapStringString ¶ added in v1.2.13
MergeMapStringString will merge two maps into one. If a duplicate key exists the value in the second map will replace the value in the first map. If both maps are empty or nil this returns an empty map.
func MergeMultierrorWarnings ¶ added in v1.5.0
MergeMultierrorWarnings takes warnings and merges them into a returnable string. This method is used to return API and CLI errors.
func Min ¶ added in v1.2.11
func Min[T constraints.Ordered](a, b T) T
Min returns the minimum of a and b.
func OpaqueMapsEqual ¶ added in v1.5.2
func OpaqueMapsEqual[M ~map[K]V, K comparable, V any](m1, m2 M) bool
OpaqueMapsEqual compare maps[<comparable>]<any> for equality, but safely by using the cmp package and ignoring un-exported types, and by treating nil/empty slices and maps as equal.
This is intended as a substitute for reflect.DeepEqual in the case of "opaque maps", e.g. `map[comparable]any` - such as the case for Task Driver config or Envoy proxy pass-through configuration.
func RandomStagger ¶ added in v1.3.0
RandomStagger returns an interval between 0 and the duration
func RateScaledInterval ¶ added in v1.3.0
RateScaledInterval is used to choose an interval to perform an action in order to target an aggregate number of actions per second across the whole cluster.
func RemoveEqualFold ¶ added in v0.11.0
RemoveEqualFold removes the first string that EqualFold matches. It updates xs in place
func SliceSetEq ¶ added in v1.2.13
func SliceSetEq[T comparable](a, b []T) bool
SliceSetEq returns true if slices a and b contain the same elements (in no particular order), using '==' for comparison.
Note: for pointers, consider implementing an Equal method and using ElementsEqual instead.
func StringHasPrefixInSlice ¶ added in v1.0.13
StringHasPrefixInSlice returns true if s starts with any prefix in list.
func UniqueMapSliceValues ¶ added in v1.2.13
func UniqueMapSliceValues[K, V comparable](m map[K][]V) []V
UniqueMapSliceValues returns the union of values from each slice in a map[K][]V.
func UnusedKeys ¶ added in v0.11.0
func UnusedKeys(obj interface{}) error
UnusedKeys returns a pretty-printed error if any `hcl:",unusedKeys"` is not empty
Types ¶
type StopFunc ¶ added in v1.1.13
type StopFunc func()
StopFunc is used to stop a time.Timer created with NewSafeTimer
func NewSafeTimer ¶ added in v1.1.13
NewSafeTimer creates a time.Timer but does not panic if duration is <= 0.
Using a time.Timer is recommended instead of time.After when it is necessary to avoid leaking goroutines (e.g. in a select inside a loop).
Returns the time.Timer and also a StopFunc, forcing the caller to deal with stopping the time.Timer to avoid leaking a goroutine.
Note: If creating a Timer that should do nothing until Reset is called, use NewStoppedTimer instead for safely creating the timer in a stopped state.
func NewStoppedTimer ¶ added in v1.2.15
NewStoppedTimer creates a time.Timer in a stopped state. This is useful when the actual wait time will computed and set later via Reset.
Directories ¶
Path | Synopsis |
---|---|
Package boltdd contains a wrapper around BBoltDB to deduplicate writes and encode values using mgspack.
|
Package boltdd contains a wrapper around BBoltDB to deduplicate writes and encode values using mgspack. |
constraints
|
|
semver
semver is a Semver Constraints package copied from github.com/hashicorp/go-version @ 2046c9d0f0b03c779670f5186a2a4b2c85493a71
|
semver is a Semver Constraints package copied from github.com/hashicorp/go-version @ 2046c9d0f0b03c779670f5186a2a4b2c85493a71 |
Package envoy provides a high level view of the variables that go into selecting an envoy version.
|
Package envoy provides a high level view of the variables that go into selecting an envoy version. |
grpc-middleware
|
|
Package noxssrw (No XSS ResponseWriter) behaves like the Go standard library's ResponseWriter by detecting the Content-Type of a response if it has not been explicitly set.
|
Package noxssrw (No XSS ResponseWriter) behaves like the Go standard library's ResponseWriter by detecting the Content-Type of a response if it has not been explicitly set. |
pluginutils
|
|
catalog
Package catalog is used to register internal plugins such that they can be loaded.
|
Package catalog is used to register internal plugins such that they can be loaded. |
Package pointer provides helper functions related to Go pointers.
|
Package pointer provides helper functions related to Go pointers. |
Code generated by go generate; DO NOT EDIT.
|
Code generated by go generate; DO NOT EDIT. |
The archive utilities manage the internal format of a snapshot, which is a tar file with the following contents:
|
The archive utilities manage the internal format of a snapshot, which is a tar file with the following contents: |
Package subproc provides helper utilities for executing the Nomad binary as a child process of the Nomad agent.
|
Package subproc provides helper utilities for executing the Nomad binary as a child process of the Nomad agent. |
Package testlog creates a *log.Logger backed by *testing.T to ease logging in tests.
|
Package testlog creates a *log.Logger backed by *testing.T to ease logging in tests. |
Package testtask implements a portable set of commands useful as stand-ins for user tasks.
|
Package testtask implements a portable set of commands useful as stand-ins for user tasks. |