util

package
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Equal

func Equal[K comparable, V comparable](a map[K]V, b map[K]V) bool

func FilterKeys

func FilterKeys[K comparable, V any](a map[K]V, keys []K) map[K]V

func FormatBinarySI

func FormatBinarySI(q int64) string

func InverseMap

func InverseMap[K comparable, V comparable](a map[K]V) map[V]K

InverseMap creates a new map where each key: value pair is swapped If the same value is present multiple times, a random one will be selected (depending on map key-value iteration)

func MergeMaps

func MergeMaps[K comparable, V any](a map[K]V, b map[K]V) map[K]V

func Min

func Min(a, b int) int

func NewThreadsafeRand

func NewThreadsafeRand(seed int64) *rand.Rand

NewThreadsafeRand Returns a *rand.Rand that is safe to share across multiple goroutines

func NewULID

func NewULID() string

NewULID returns a new ULID for the current time generated from a global RNG. The ULID is returned as a string converted to lower-case to ensure it is a valid DNS subdomain name; see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names

func RetryUntilSuccess added in v0.3.91

func RetryUntilSuccess(ctx *armadacontext.Context, performAction func() error, onError func(error))

func StringFromUlid

func StringFromUlid(id ulid.ULID) string

StringFromUlid returns a string representation of a proto UUID. Because Kubernetes requires ids to be valid DNS subdomain names, the string is returned in lower-case; see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names

func StringListToSet

func StringListToSet(list []string) map[string]bool

func SubtractStringList

func SubtractStringList(a []string, b []string) []string

func Truncate

func Truncate(s string, max int) string

func ULID

func ULID() ulid.ULID

ULID returns a new ULID for the current time generated from a global RNG.

Types

type LockedSource

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

LockedSource is a random source that is uses a mutex to ensure it is threadsafe

func (*LockedSource) Int63

func (r *LockedSource) Int63() (n int64)

func (*LockedSource) Seed

func (r *LockedSource) Seed(seed int64)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL