Documentation ¶
Index ¶
- func Address(network, host string) string
- func CallWithContext(ctx context.Context, fn func() error) error
- func CopyMatchingTag(from interface{}, to interface{}, tag string, ...)
- func EqualStrings(a, b []string) bool
- func FillNil(data interface{})
- func FillNilExceptDeprecated(data interface{})
- func FillNilSlices(data interface{}) error
- func NiceDurationString(d time.Duration) string
- func SetDefaults(data interface{})
- func UniqueTrimmedStrings(ss []string) []string
- type MultiSemaphore
- type Semaphore
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CopyMatchingTag ¶
func CopyMatchingTag(from interface{}, to interface{}, tag string, shouldCopy func(value string) bool)
CopyMatchingTag copies fields tagged tag:"value" from "from" struct onto "to" struct.
func EqualStrings ¶
func FillNilExceptDeprecated ¶
func FillNilExceptDeprecated(data interface{})
func FillNilSlices ¶
func FillNilSlices(data interface{}) error
FillNilSlices sets default value on slices that are still nil.
func NiceDurationString ¶
func SetDefaults ¶
func SetDefaults(data interface{})
SetDefaults sets default values on a struct, based on the default annotation.
func UniqueTrimmedStrings ¶
UniqueTrimmedStrings returns a list of all unique strings in ss, in the order in which they first appear in ss, after trimming away leading and trailing spaces.
Types ¶
type MultiSemaphore ¶
type MultiSemaphore []*Semaphore
MultiSemaphore combines semaphores, making sure to always take and give in the same order (reversed for give). A semaphore may be nil, in which case it is skipped.
func (MultiSemaphore) Give ¶
func (s MultiSemaphore) Give(size int)
func (MultiSemaphore) Take ¶
func (s MultiSemaphore) Take(size int)
func (MultiSemaphore) TakeWithContext ¶
func (s MultiSemaphore) TakeWithContext(ctx context.Context, size int) error
type Semaphore ¶
type Semaphore struct {
// contains filtered or unexported fields
}
func NewSemaphore ¶
func (*Semaphore) SetCapacity ¶
Click to show internal directories.
Click to hide internal directories.