Clash.Meta/common/picker/picker.go

23 lines
305 B
Go
Raw Normal View History

2018-12-05 21:13:29 +08:00
package picker
import "context"
func SelectFast(ctx context.Context, in <-chan interface{}) <-chan interface{} {
out := make(chan interface{})
go func() {
select {
case p, open := <-in:
if open {
out <- p
}
case <-ctx.Done():
}
close(out)
for range in {
}
}()
return out
}