Versions in this module Expand all Collapse all v1 v1.0.1 Apr 8, 2021 Changes in this version + type ManagedHandle interface + Discard func() error + Handle func() (interface{}, error) + Owner func() ResourcePool + Release func() error + ReleaseUnderlyingHandle func() interface{} + ResourceLocation func() string + func NewManagedHandle(resourceLocation string, handle interface{}, pool ResourcePool, ...) ManagedHandle + type OpenHandleError struct + func (o OpenHandleError) Error() string + type Options struct + Close func(handle interface{}) error + MaxActiveHandles int32 + MaxIdleHandles uint32 + MaxIdleTime *time.Duration + NowFunc func() time.Time + Open func(resourceLocation string) (handle interface{}, err error) + OpenMaxConcurrency int + type ResourceLocationPool struct + Pool ResourcePool + ResourceLocation string + type ResourcePool interface + ActiveHighWaterMark func() int32 + Discard func(handle ManagedHandle) error + EnterLameDuckMode func() + Get func(key string) (ManagedHandle, error) + ListRegistered func() []string + NumActive func() int32 + NumIdle func() int + Register func(resourceLocation string) error + Release func(handle ManagedHandle) error + Unregister func(resourceLocation string) error + func NewMultiResourcePool(options Options, createPool func(Options) ResourcePool) ResourcePool + func NewRoundRobinResourcePool(options Options, createPool func(Options) ResourcePool, ...) (ResourcePool, error) + func NewSimpleResourcePool(options Options) ResourcePool + type TooManyHandles struct + func (t TooManyHandles) Error() string