mirror of
https://github.com/go-kratos/kratos.git
synced 2025-02-19 19:10:08 +02:00
* 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>
22 lines
422 B
Go
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
|
|
}
|
|
}
|