kubernetes/pkg/util/goroutinemap/goroutinemap.go

type GoRoutineMap

// NewGoRoutineMap returns a new instance of GoRoutineMap.
func NewGoRoutineMap(exponentialBackOffOnError bool) GoRoutineMap {}

type goRoutineMap

type operation

func (grm *goRoutineMap) Run(
	operationName string,
	operationFunc func() error) error {}

// operationComplete handles the completion of a goroutine run in the
// goRoutineMap.
func (grm *goRoutineMap) operationComplete(
	operationName string, err *error) {}

func (grm *goRoutineMap) IsOperationPending(operationName string) bool {}

func (grm *goRoutineMap) Wait() {}

func (grm *goRoutineMap) WaitForCompletion() {}

// Check if any operation is pending. Already assumes caller has the
// necessary locks
func (grm *goRoutineMap) nothingPending() bool {}

// NewAlreadyExistsError returns a new instance of AlreadyExists error.
func NewAlreadyExistsError(operationName string) error {}

// IsAlreadyExists returns true if an error returned from GoRoutineMap indicates
// a new operation can not be started because an operation with the same
// operation name is already executing.
func IsAlreadyExists(err error) bool {}

type alreadyExistsError

var _

func (err alreadyExistsError) Error() string {}