Versions in this module Expand all Collapse all v1 v1.1.2 Aug 9, 2017 v1.1.1 Oct 31, 2016 Changes in this version + const DefaultBlockWhenExhausted + const DefaultEvictionPolicyName + const DefaultLifo + const DefaultMaxIdle + const DefaultMaxTotal + const DefaultMaxWaitMillis + const DefaultMinEvictableIdleTimeMillis + const DefaultMinIdle + const DefaultNumTestsPerEvictionRun + const DefaultSoftMinEvictableIdleTimeMillis + const DefaultTestOnBorrow + const DefaultTestOnCreate + const DefaultTestOnReturn + const DefaultTestWhileIdle + const DefaultTimeBetweenEvictionRunsMillis + func Prefill(pool *ObjectPool, count int) + func RegistryEvictionPolicy(name string, policy EvictionPolicy) + type AbandonedConfig struct + RemoveAbandonedOnBorrow bool + RemoveAbandonedOnMaintenance bool + RemoveAbandonedTimeout int + func NewDefaultAbandonedConfig() *AbandonedConfig + type DefaultEvictionPolicy struct + func (p *DefaultEvictionPolicy) Evict(config *EvictionConfig, underTest *PooledObject, idleCount int) bool + type DefaultPooledObjectFactory struct + func (f *DefaultPooledObjectFactory) ActivateObject(object *PooledObject) error + func (f *DefaultPooledObjectFactory) DestroyObject(object *PooledObject) error + func (f *DefaultPooledObjectFactory) MakeObject() (*PooledObject, error) + func (f *DefaultPooledObjectFactory) PassivateObject(object *PooledObject) error + func (f *DefaultPooledObjectFactory) ValidateObject(object *PooledObject) bool + type EvictionConfig struct + IdleEvictTime int64 + IdleSoftEvictTime int64 + MinIdle int + type EvictionPolicy interface + Evict func(config *EvictionConfig, underTest *PooledObject, idleCount int) bool + func GetEvictionPolicy(name string) EvictionPolicy + type IllegalStateErr struct + func NewIllegalStateErr(msg string) *IllegalStateErr + func (err *IllegalStateErr) Error() string + type NoSuchElementErr struct + func NewNoSuchElementErr(msg string) *NoSuchElementErr + func (err *NoSuchElementErr) Error() string + type ObjectPool struct + AbandonedConfig *AbandonedConfig + Config *ObjectPoolConfig + func NewObjectPool(factory PooledObjectFactory, config *ObjectPoolConfig) *ObjectPool + func NewObjectPoolWithAbandonedConfig(factory PooledObjectFactory, config *ObjectPoolConfig, ...) *ObjectPool + func NewObjectPoolWithDefaultConfig(factory PooledObjectFactory) *ObjectPool + func (pool *ObjectPool) AddObject() error + func (pool *ObjectPool) BorrowObject() (interface{}, error) + func (pool *ObjectPool) Clear() + func (pool *ObjectPool) Close() + func (pool *ObjectPool) GetDestroyedByBorrowValidationCount() int + func (pool *ObjectPool) GetDestroyedCount() int + func (pool *ObjectPool) GetNumActive() int + func (pool *ObjectPool) GetNumIdle() int + func (pool *ObjectPool) InvalidateObject(object interface{}) error + func (pool *ObjectPool) IsClosed() bool + func (pool *ObjectPool) PreparePool() + func (pool *ObjectPool) ReturnObject(object interface{}) error + func (pool *ObjectPool) StartEvictor() + type ObjectPoolConfig struct + BlockWhenExhausted bool + EvictionPolicyName string + Lifo bool + MaxIdle int + MaxTotal int + MaxWaitMillis int64 + MinEvictableIdleTimeMillis int64 + MinIdle int + NumTestsPerEvictionRun int + SoftMinEvictableIdleTimeMillis int64 + TestOnBorrow bool + TestOnCreate bool + TestOnReturn bool + TestWhileIdle bool + TimeBetweenEvictionRunsMillis int64 + func NewDefaultPoolConfig() *ObjectPoolConfig + type PooledObject struct + BorrowedCount int32 + CreateTime int64 + LastBorrowTime int64 + LastReturnTime int64 + LastUseTime int64 + Object interface{} + func NewPooledObject(object interface{}) *PooledObject + func (o *PooledObject) Allocate() bool + func (o *PooledObject) Deallocate() bool + func (o *PooledObject) EndEvictionTest(idleQueue *collections.LinkedBlockingDeque) bool + func (o *PooledObject) GetActiveTimeMillis() int64 + func (o *PooledObject) GetIdleTimeMillis() int64 + func (o *PooledObject) GetLastUsedTime() int64 + func (o *PooledObject) GetState() PooledObjectState + func (o *PooledObject) Invalidate() + func (o *PooledObject) MarkAbandoned() + func (o *PooledObject) MarkReturning() + func (o *PooledObject) StartEvictionTest() bool + type PooledObjectFactory interface + ActivateObject func(object *PooledObject) error + DestroyObject func(object *PooledObject) error + MakeObject func() (*PooledObject, error) + PassivateObject func(object *PooledObject) error + ValidateObject func(object *PooledObject) bool + func NewPooledObjectFactory(create func() (interface{}, error), destroy func(object *PooledObject) error, ...) PooledObjectFactory + func NewPooledObjectFactorySimple(create func() (interface{}, error)) PooledObjectFactory + type PooledObjectState int + const StateAbandoned + const StateAllocated + const StateEviction + const StateEvictionReturnToHead + const StateIdle + const StateInvalid + const StateReturning + type TrackedUse interface + GetLastUsed func() int64 Incompatible versions in this module v2.0.0+incompatible Jun 21, 2018 Other modules containing this package github.com/jolestar/go-commons-pool/v2