Files
sablier/pkg/promise/pool.go
Alexis Couvreur 4122109349 wip lol
2024-11-16 22:49:35 -05:00

37 lines
493 B
Go

package promise
import (
"github.com/panjf2000/ants/v2"
conc "github.com/sourcegraph/conc/pool"
)
var (
defaultPool = newDefaultPool()
)
type Pool interface {
Go(f func())
}
type wrapFunc func(f func())
func (wf wrapFunc) Go(f func()) {
wf(f)
}
func newDefaultPool() Pool {
return wrapFunc(func(f func()) {
go f()
})
}
func FromConcPool(p *conc.Pool) Pool {
return wrapFunc(p.Go)
}
func FromAntsPool(p *ants.Pool) Pool {
return wrapFunc(func(f func()) {
p.Submit(f)
})
}