SYMBOL INDEX (257 symbols across 21 files) FILE: ants.go constant DefaultAntsPoolSize (line 48) | DefaultAntsPoolSize = math.MaxInt32 constant DefaultCleanIntervalTime (line 51) | DefaultCleanIntervalTime = time.Second constant OPENED (line 56) | OPENED = iota constant CLOSED (line 59) | CLOSED function Submit (line 113) | func Submit(task func()) error { function Running (line 118) | func Running() int { function Cap (line 123) | func Cap() int { function Free (line 128) | func Free() int { function Release (line 133) | func Release() { function ReleaseTimeout (line 138) | func ReleaseTimeout(timeout time.Duration) error { function ReleaseContext (line 146) | func ReleaseContext(ctx context.Context) error { function Reboot (line 151) | func Reboot() { type Logger (line 156) | type Logger interface type poolCommon (line 162) | type poolCommon struct method purgeStaleWorkers (line 251) | func (p *poolCommon) purgeStaleWorkers() { method ticktock (line 295) | func (p *poolCommon) ticktock() { method goPurge (line 318) | func (p *poolCommon) goPurge() { method goTicktock (line 328) | func (p *poolCommon) goTicktock() { method nowTime (line 334) | func (p *poolCommon) nowTime() int64 { method Running (line 339) | func (p *poolCommon) Running() int { method Free (line 344) | func (p *poolCommon) Free() int { method Waiting (line 353) | func (p *poolCommon) Waiting() int { method Cap (line 358) | func (p *poolCommon) Cap() int { method Tune (line 363) | func (p *poolCommon) Tune(size int) { method IsClosed (line 379) | func (p *poolCommon) IsClosed() bool { method Release (line 384) | func (p *poolCommon) Release() { method ReleaseTimeout (line 408) | func (p *poolCommon) ReleaseTimeout(timeout time.Duration) error { method ReleaseContext (line 422) | func (p *poolCommon) ReleaseContext(ctx context.Context) error { method Reboot (line 467) | func (p *poolCommon) Reboot() { method addRunning (line 478) | func (p *poolCommon) addRunning(delta int) int { method addWaiting (line 482) | func (p *poolCommon) addWaiting(delta int) { method retrieveWorker (line 487) | func (p *poolCommon) retrieveWorker() (w worker, err error) { method revertWorker (line 526) | func (p *poolCommon) revertWorker(worker worker) bool { function newPool (line 207) | func newPool(size int, options ...Option) (*poolCommon, error) { constant nowTimeUpdateInterval (line 292) | nowTimeUpdateInterval = 500 * time.Millisecond FILE: ants_benchmark_test.go constant RunTimes (line 38) | RunTimes = 1e6 constant PoolCap (line 39) | PoolCap = 5e4 constant BenchParam (line 40) | BenchParam = 10 constant DefaultExpiredTime (line 41) | DefaultExpiredTime = 10 * time.Second function demoFunc (line 44) | func demoFunc() { function demoPoolFunc (line 48) | func demoPoolFunc(args any) { function demoPoolFuncInt (line 53) | func demoPoolFuncInt(n int) { function longRunningFunc (line 59) | func longRunningFunc() { function longRunningPoolFunc (line 65) | func longRunningPoolFunc(arg any) { function longRunningPoolFuncCh (line 69) | func longRunningPoolFuncCh(ch chan struct{}) { function BenchmarkGoroutines (line 73) | func BenchmarkGoroutines(b *testing.B) { function BenchmarkChannel (line 87) | func BenchmarkChannel(b *testing.B) { function BenchmarkErrGroup (line 106) | func BenchmarkErrGroup(b *testing.B) { function BenchmarkAntsPool (line 125) | func BenchmarkAntsPool(b *testing.B) { function BenchmarkAntsMultiPool (line 143) | func BenchmarkAntsMultiPool(b *testing.B) { function BenchmarkGoroutinesThroughput (line 161) | func BenchmarkGoroutinesThroughput(b *testing.B) { function BenchmarkSemaphoreThroughput (line 169) | func BenchmarkSemaphoreThroughput(b *testing.B) { function BenchmarkAntsPoolThroughput (line 182) | func BenchmarkAntsPoolThroughput(b *testing.B) { function BenchmarkAntsMultiPoolThroughput (line 194) | func BenchmarkAntsMultiPoolThroughput(b *testing.B) { function BenchmarkParallelAntsPoolThroughput (line 206) | func BenchmarkParallelAntsPoolThroughput(b *testing.B) { function BenchmarkParallelAntsMultiPoolThroughput (line 218) | func BenchmarkParallelAntsMultiPoolThroughput(b *testing.B) { FILE: ants_test.go constant _ (line 41) | _ = 1 << (10 * iota) constant KiB (line 42) | KiB constant MiB (line 43) | MiB constant Param (line 47) | Param = 100 constant AntsSize (line 48) | AntsSize = 1000 constant TestSize (line 49) | TestSize = 10000 constant n (line 50) | n = 100000 function TestAntsPoolWaitToGetWorker (line 56) | func TestAntsPoolWaitToGetWorker(t *testing.T) { function TestAntsPoolWaitToGetWorkerPreMalloc (line 76) | func TestAntsPoolWaitToGetWorkerPreMalloc(t *testing.T) { function TestAntsPoolWithFuncWaitToGetWorker (line 97) | func TestAntsPoolWithFuncWaitToGetWorker(t *testing.T) { function TestAntsPoolWithFuncGenericWaitToGetWorker (line 118) | func TestAntsPoolWithFuncGenericWaitToGetWorker(t *testing.T) { function TestAntsPoolWithFuncWaitToGetWorkerPreMalloc (line 138) | func TestAntsPoolWithFuncWaitToGetWorkerPreMalloc(t *testing.T) { function TestAntsPoolWithFuncGenericWaitToGetWorkerPreMalloc (line 158) | func TestAntsPoolWithFuncGenericWaitToGetWorkerPreMalloc(t *testing.T) { function TestAntsPoolGetWorkerFromCache (line 179) | func TestAntsPoolGetWorkerFromCache(t *testing.T) { function TestAntsPoolWithFuncGetWorkerFromCache (line 196) | func TestAntsPoolWithFuncGetWorkerFromCache(t *testing.T) { function TestAntsPoolWithFuncGenericGetWorkerFromCache (line 214) | func TestAntsPoolWithFuncGenericGetWorkerFromCache(t *testing.T) { function TestAntsPoolWithFuncGetWorkerFromCachePreMalloc (line 231) | func TestAntsPoolWithFuncGetWorkerFromCachePreMalloc(t *testing.T) { function TestAntsPoolWithFuncGenericGetWorkerFromCachePreMalloc (line 248) | func TestAntsPoolWithFuncGenericGetWorkerFromCachePreMalloc(t *testing.T) { function TestNoPool (line 267) | func TestNoPool(t *testing.T) { function TestAntsPool (line 284) | func TestAntsPool(t *testing.T) { function TestPanicHandler (line 306) | func TestPanicHandler(t *testing.T) { function TestPanicHandlerPreMalloc (line 352) | func TestPanicHandlerPreMalloc(t *testing.T) { function TestPoolPanicWithoutHandler (line 398) | func TestPoolPanicWithoutHandler(t *testing.T) { function TestPoolPanicWithoutHandlerPreMalloc (line 417) | func TestPoolPanicWithoutHandlerPreMalloc(t *testing.T) { function TestPurgePool (line 440) | func TestPurgePool(t *testing.T) { function TestPurgePreMallocPool (line 503) | func TestPurgePreMallocPool(t *testing.T) { function TestNonblockingSubmit (line 526) | func TestNonblockingSubmit(t *testing.T) { function TestMaxBlockingSubmit (line 550) | func TestMaxBlockingSubmit(t *testing.T) { function TestNonblockingSubmitWithFunc (line 588) | func TestNonblockingSubmitWithFunc(t *testing.T) { function TestNonblockingSubmitWithFuncGeneric (line 614) | func TestNonblockingSubmitWithFuncGeneric(t *testing.T) { function TestMaxBlockingSubmitWithFunc (line 640) | func TestMaxBlockingSubmitWithFunc(t *testing.T) { function TestMaxBlockingSubmitWithFuncGeneric (line 675) | func TestMaxBlockingSubmitWithFuncGeneric(t *testing.T) { function TestRebootDefaultPool (line 710) | func TestRebootDefaultPool(t *testing.T) { function TestRebootNewPool (line 728) | func TestRebootNewPool(t *testing.T) { function TestInfinitePool (line 779) | func TestInfinitePool(t *testing.T) { function testPoolWithDisablePurge (line 803) | func testPoolWithDisablePurge(t *testing.T, p *ants.Pool, numWorker int,... function TestWithDisablePurgePool (line 842) | func TestWithDisablePurgePool(t *testing.T) { function TestWithDisablePurgeAndWithExpirationPool (line 848) | func TestWithDisablePurgeAndWithExpirationPool(t *testing.T) { function testPoolFuncWithDisablePurge (line 855) | func testPoolFuncWithDisablePurge(t *testing.T, p *ants.PoolWithFunc, nu... function TestWithDisablePurgePoolFunc (line 886) | func TestWithDisablePurgePoolFunc(t *testing.T) { function TestWithDisablePurgeAndWithExpirationPoolFunc (line 900) | func TestWithDisablePurgeAndWithExpirationPoolFunc(t *testing.T) { function TestInfinitePoolWithFunc (line 915) | func TestInfinitePoolWithFunc(t *testing.T) { function TestInfinitePoolWithFuncGeneric (line 941) | func TestInfinitePoolWithFuncGeneric(t *testing.T) { function TestReleaseWhenRunningPool (line 967) | func TestReleaseWhenRunningPool(t *testing.T) { function TestReleaseWhenRunningPoolWithFunc (line 1008) | func TestReleaseWhenRunningPoolWithFunc(t *testing.T) { function TestReleaseWhenRunningPoolWithFuncGeneric (line 1045) | func TestReleaseWhenRunningPoolWithFuncGeneric(t *testing.T) { function TestRestCodeCoverage (line 1082) | func TestRestCodeCoverage(t *testing.T) { function TestPoolTuneScaleUp (line 1205) | func TestPoolTuneScaleUp(t *testing.T) { function TestReleaseTimeout (line 1307) | func TestReleaseTimeout(t *testing.T) { function TestDefaultPoolReleaseTimeout (line 1343) | func TestDefaultPoolReleaseTimeout(t *testing.T) { function TestDefaultPoolReleaseContext (line 1355) | func TestDefaultPoolReleaseContext(t *testing.T) { function TestReleaseContextWithNil (line 1367) | func TestReleaseContextWithNil(t *testing.T) { function TestMultiPool (line 1383) | func TestMultiPool(t *testing.T) { function TestMultiPoolWithFunc (line 1444) | func TestMultiPoolWithFunc(t *testing.T) { function TestMultiPoolWithFuncGeneric (line 1506) | func TestMultiPoolWithFuncGeneric(t *testing.T) { function TestMultiPoolReleaseContext (line 1568) | func TestMultiPoolReleaseContext(t *testing.T) { function TestMultiPoolWithFuncReleaseContext (line 1647) | func TestMultiPoolWithFuncReleaseContext(t *testing.T) { function TestMultiPoolWithFuncGenericReleaseContext (line 1699) | func TestMultiPoolWithFuncGenericReleaseContext(t *testing.T) { function TestRebootNewPoolCalc (line 1751) | func TestRebootNewPoolCalc(t *testing.T) { function TestRebootNewPoolWithPreAllocCalc (line 1785) | func TestRebootNewPoolWithPreAllocCalc(t *testing.T) { FILE: example_test.go function incSum (line 39) | func incSum(i any) { function incSumInt (line 43) | func incSumInt(i int32) { function ExamplePool (line 48) | func ExamplePool() { function ExamplePoolWithFunc (line 83) | func ExamplePoolWithFunc() { function ExamplePoolWithFuncGeneric (line 101) | func ExamplePoolWithFuncGeneric() { function ExampleMultiPool (line 119) | func ExampleMultiPool() { function ExampleMultiPoolWithFunc (line 140) | func ExampleMultiPoolWithFunc() { function ExampleMultiPoolWithFuncGeneric (line 158) | func ExampleMultiPoolWithFuncGeneric() { FILE: multipool.go type LoadBalancingStrategy (line 38) | type LoadBalancingStrategy constant RoundRobin (line 42) | RoundRobin LoadBalancingStrategy = 1 << (iota + 1) constant LeastTasks (line 45) | LeastTasks type contextReleaser (line 48) | type contextReleaser interface function releasePools (line 52) | func releasePools(ctx context.Context, pools []contextReleaser) error { type MultiPool (line 90) | type MultiPool struct method next (line 118) | func (mp *MultiPool) next(lbs LoadBalancingStrategy) (idx int) { method Submit (line 136) | func (mp *MultiPool) Submit(task func()) (err error) { method Running (line 150) | func (mp *MultiPool) Running() (n int) { method RunningByIndex (line 158) | func (mp *MultiPool) RunningByIndex(idx int) (int, error) { method Free (line 166) | func (mp *MultiPool) Free() (n int) { method FreeByIndex (line 174) | func (mp *MultiPool) FreeByIndex(idx int) (int, error) { method Waiting (line 182) | func (mp *MultiPool) Waiting() (n int) { method WaitingByIndex (line 190) | func (mp *MultiPool) WaitingByIndex(idx int) (int, error) { method Cap (line 198) | func (mp *MultiPool) Cap() (n int) { method Tune (line 209) | func (mp *MultiPool) Tune(size int) { method IsClosed (line 216) | func (mp *MultiPool) IsClosed() bool { method ReleaseTimeout (line 222) | func (mp *MultiPool) ReleaseTimeout(timeout time.Duration) error { method ReleaseContext (line 230) | func (mp *MultiPool) ReleaseContext(ctx context.Context) error { method Reboot (line 243) | func (mp *MultiPool) Reboot() { function NewMultiPool (line 99) | func NewMultiPool(size, sizePerPool int, lbs LoadBalancingStrategy, opti... FILE: multipool_func.go type MultiPoolWithFunc (line 37) | type MultiPoolWithFunc struct method next (line 65) | func (mp *MultiPoolWithFunc) next(lbs LoadBalancingStrategy) (idx int) { method Invoke (line 83) | func (mp *MultiPoolWithFunc) Invoke(args any) (err error) { method Running (line 98) | func (mp *MultiPoolWithFunc) Running() (n int) { method RunningByIndex (line 106) | func (mp *MultiPoolWithFunc) RunningByIndex(idx int) (int, error) { method Free (line 114) | func (mp *MultiPoolWithFunc) Free() (n int) { method FreeByIndex (line 122) | func (mp *MultiPoolWithFunc) FreeByIndex(idx int) (int, error) { method Waiting (line 130) | func (mp *MultiPoolWithFunc) Waiting() (n int) { method WaitingByIndex (line 138) | func (mp *MultiPoolWithFunc) WaitingByIndex(idx int) (int, error) { method Cap (line 146) | func (mp *MultiPoolWithFunc) Cap() (n int) { method Tune (line 157) | func (mp *MultiPoolWithFunc) Tune(size int) { method IsClosed (line 164) | func (mp *MultiPoolWithFunc) IsClosed() bool { method ReleaseTimeout (line 170) | func (mp *MultiPoolWithFunc) ReleaseTimeout(timeout time.Duration) err... method ReleaseContext (line 178) | func (mp *MultiPoolWithFunc) ReleaseContext(ctx context.Context) error { method Reboot (line 191) | func (mp *MultiPoolWithFunc) Reboot() { function NewMultiPoolWithFunc (line 46) | func NewMultiPoolWithFunc(size, sizePerPool int, fn func(any), lbs LoadB... FILE: multipool_func_generic.go type MultiPoolWithFuncGeneric (line 33) | type MultiPoolWithFuncGeneric struct function NewMultiPoolWithFuncGeneric (line 42) | func NewMultiPoolWithFuncGeneric[T any](size, sizePerPool int, fn func(T... method next (line 61) | func (mp *MultiPoolWithFuncGeneric[T]) next(lbs LoadBalancingStrategy) (... method Invoke (line 79) | func (mp *MultiPoolWithFuncGeneric[T]) Invoke(args T) (err error) { method Running (line 94) | func (mp *MultiPoolWithFuncGeneric[T]) Running() (n int) { method RunningByIndex (line 102) | func (mp *MultiPoolWithFuncGeneric[T]) RunningByIndex(idx int) (int, err... method Free (line 110) | func (mp *MultiPoolWithFuncGeneric[T]) Free() (n int) { method FreeByIndex (line 118) | func (mp *MultiPoolWithFuncGeneric[T]) FreeByIndex(idx int) (int, error) { method Waiting (line 126) | func (mp *MultiPoolWithFuncGeneric[T]) Waiting() (n int) { method WaitingByIndex (line 134) | func (mp *MultiPoolWithFuncGeneric[T]) WaitingByIndex(idx int) (int, err... method Cap (line 142) | func (mp *MultiPoolWithFuncGeneric[T]) Cap() (n int) { method Tune (line 153) | func (mp *MultiPoolWithFuncGeneric[T]) Tune(size int) { method IsClosed (line 160) | func (mp *MultiPoolWithFuncGeneric[T]) IsClosed() bool { method ReleaseTimeout (line 166) | func (mp *MultiPoolWithFuncGeneric[T]) ReleaseTimeout(timeout time.Durat... method ReleaseContext (line 174) | func (mp *MultiPoolWithFuncGeneric[T]) ReleaseContext(ctx context.Contex... method Reboot (line 187) | func (mp *MultiPoolWithFuncGeneric[T]) Reboot() { FILE: options.go type Option (line 28) | type Option function loadOptions (line 30) | func loadOptions(options ...Option) *Options { type Options (line 39) | type Options struct function WithOptions (line 72) | func WithOptions(options Options) Option { function WithExpiryDuration (line 79) | func WithExpiryDuration(expiryDuration time.Duration) Option { function WithPreAlloc (line 86) | func WithPreAlloc(preAlloc bool) Option { function WithMaxBlockingTasks (line 93) | func WithMaxBlockingTasks(maxBlockingTasks int) Option { function WithNonblocking (line 100) | func WithNonblocking(nonblocking bool) Option { function WithPanicHandler (line 107) | func WithPanicHandler(panicHandler func(any)) Option { function WithLogger (line 114) | func WithLogger(logger Logger) Option { function WithDisablePurge (line 121) | func WithDisablePurge(disable bool) Option { FILE: pkg/sync/spinlock.go type spinLock (line 13) | type spinLock method Lock (line 17) | func (sl *spinLock) Lock() { method Unlock (line 30) | func (sl *spinLock) Unlock() { constant maxBackoff (line 15) | maxBackoff = 16 function NewSpinLock (line 35) | func NewSpinLock() sync.Locker { FILE: pkg/sync/spinlock_test.go type originSpinLock (line 24) | type originSpinLock method Lock (line 26) | func (sl *originSpinLock) Lock() { method Unlock (line 32) | func (sl *originSpinLock) Unlock() { function NewOriginSpinLock (line 36) | func NewOriginSpinLock() sync.Locker { function BenchmarkMutex (line 40) | func BenchmarkMutex(b *testing.B) { function BenchmarkSpinLock (line 51) | func BenchmarkSpinLock(b *testing.B) { function BenchmarkBackOffSpinLock (line 62) | func BenchmarkBackOffSpinLock(b *testing.B) { FILE: pool.go type Pool (line 27) | type Pool struct method Submit (line 37) | func (p *Pool) Submit(task func()) error { function NewPool (line 50) | func NewPool(size int, options ...Option) (*Pool, error) { FILE: pool_func.go type PoolWithFunc (line 26) | type PoolWithFunc struct method Invoke (line 39) | func (p *PoolWithFunc) Invoke(arg any) error { function NewPoolWithFunc (line 52) | func NewPoolWithFunc(size int, pf func(any), options ...Option) (*PoolWi... FILE: pool_func_generic.go type PoolWithFuncGeneric (line 26) | type PoolWithFuncGeneric struct method Invoke (line 34) | func (p *PoolWithFuncGeneric[T]) Invoke(arg T) error { function NewPoolWithFuncGeneric (line 47) | func NewPoolWithFuncGeneric[T any](size int, pf func(T), options ...Opti... FILE: worker.go type goWorker (line 32) | type goWorker struct method run (line 47) | func (w *goWorker) run() { method finish (line 80) | func (w *goWorker) finish() { method lastUsedTime (line 84) | func (w *goWorker) lastUsedTime() int64 { method setLastUsedTime (line 88) | func (w *goWorker) setLastUsedTime(t int64) { method inputFunc (line 92) | func (w *goWorker) inputFunc(fn func()) { FILE: worker_func.go type goWorkerWithFunc (line 32) | type goWorkerWithFunc struct method run (line 47) | func (w *goWorkerWithFunc) run() { method finish (line 80) | func (w *goWorkerWithFunc) finish() { method lastUsedTime (line 84) | func (w *goWorkerWithFunc) lastUsedTime() int64 { method setLastUsedTime (line 88) | func (w *goWorkerWithFunc) setLastUsedTime(t int64) { method inputArg (line 92) | func (w *goWorkerWithFunc) inputArg(arg any) { FILE: worker_func_generic.go type goWorkerWithFuncGeneric (line 32) | type goWorkerWithFuncGeneric struct method run (line 50) | func (w *goWorkerWithFuncGeneric[T]) run() { method finish (line 85) | func (w *goWorkerWithFuncGeneric[T]) finish() { method lastUsedTime (line 89) | func (w *goWorkerWithFuncGeneric[T]) lastUsedTime() int64 { method setLastUsedTime (line 93) | func (w *goWorkerWithFuncGeneric[T]) setLastUsedTime(t int64) { FILE: worker_loop_queue.go type loopQueue (line 27) | type loopQueue struct method len (line 46) | func (wq *loopQueue) len() int { method isEmpty (line 62) | func (wq *loopQueue) isEmpty() bool { method insert (line 66) | func (wq *loopQueue) insert(w worker) error { method detach (line 80) | func (wq *loopQueue) detach() worker { method refresh (line 94) | func (wq *loopQueue) refresh(duration time.Duration) []worker { method binarySearch (line 126) | func (wq *loopQueue) binarySearch(expiryTime int64) int { method reset (line 163) | func (wq *loopQueue) reset() { function newWorkerLoopQueue (line 36) | func newWorkerLoopQueue(size int) *loopQueue { FILE: worker_loop_queue_test.go function TestNewLoopQueue (line 32) | func TestNewLoopQueue(t *testing.T) { function TestLoopQueue (line 42) | func TestLoopQueue(t *testing.T) { function TestRotatedQueueSearch (line 73) | func TestRotatedQueueSearch(t *testing.T) { function TestRetrieveExpiry (line 157) | func TestRetrieveExpiry(t *testing.T) { FILE: worker_queue.go type worker (line 33) | type worker interface type workerQueue (line 42) | type workerQueue interface type queueType (line 51) | type queueType constant queueTypeStack (line 54) | queueTypeStack queueType = 1 << iota constant queueTypeLoopQueue (line 55) | queueTypeLoopQueue function newWorkerQueue (line 58) | func newWorkerQueue(qType queueType, size int) workerQueue { FILE: worker_stack.go type workerStack (line 27) | type workerStack struct method len (line 38) | func (ws *workerStack) len() int { method isEmpty (line 42) | func (ws *workerStack) isEmpty() bool { method insert (line 46) | func (ws *workerStack) insert(w worker) error { method detach (line 51) | func (ws *workerStack) detach() worker { method refresh (line 64) | func (ws *workerStack) refresh(duration time.Duration) []worker { method binarySearch (line 85) | func (ws *workerStack) binarySearch(l, r int, expiryTime int64) int { method reset (line 97) | func (ws *workerStack) reset() { function newWorkerStack (line 32) | func newWorkerStack(size int) *workerStack { FILE: worker_stack_test.go function TestNewWorkerStack (line 32) | func TestNewWorkerStack(t *testing.T) { function TestWorkerStack (line 40) | func TestWorkerStack(t *testing.T) { function TestSearch (line 73) | func TestSearch(t *testing.T) {