1
0
mirror of https://github.com/go-kratos/kratos.git synced 2025-02-19 19:10:08 +02:00
kratos/selector/options.go
longxboy 20f0a07d36
Feat: add load balancer (#1437)
* add balancer
* add p2c balancer
* add http client selector filter

Co-authored-by: yuemoxi <99347745@qq.com>
Co-authored-by: chenzhihui <zhihui_chen@foxmail.com>
2021-09-12 15:14:21 +08:00

22 lines
422 B
Go

package selector
import "context"
// SelectOptions is Select Options.
type SelectOptions struct {
Filters []Filter
}
// SelectOption is Selector option.
type SelectOption func(*SelectOptions)
// Filter is node filter function.
type Filter func(context.Context, []Node) []Node
// WithFilter with filter options
func WithFilter(fn ...Filter) SelectOption {
return func(opts *SelectOptions) {
opts.Filters = fn
}
}