Documentation
¶
Index ¶
- func NewTagRouterFactory() router.PriorityRouterFactory
- type PriorityRouter
- func (p *PriorityRouter) Name() string
- func (p *PriorityRouter) Notify(invokers []base.Invoker)
- func (p *PriorityRouter) Pool(invokers []base.Invoker) (router.AddrPool, router.AddrMetadata)
- func (p *PriorityRouter) Priority() int64
- func (p *PriorityRouter) Process(event *config_center.ConfigChangeEvent)
- func (p *PriorityRouter) Route(invokers []base.Invoker, url *common.URL, invocation base.Invocation) []base.Invoker
- func (p *PriorityRouter) SetCache(cache router.Cache)
- func (p *PriorityRouter) SetStaticConfig(cfg *global.RouterConfig)
- func (p *PriorityRouter) ShouldPool() bool
- func (p *PriorityRouter) URL() *common.URL
- type RouteFactory
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewTagRouterFactory ¶
func NewTagRouterFactory() router.PriorityRouterFactory
NewTagRouterFactory constructs a new PriorityRouterFactory
Types ¶
type PriorityRouter ¶
type PriorityRouter struct {
// contains filtered or unexported fields
}
func NewTagPriorityRouter ¶
func NewTagPriorityRouter() (*PriorityRouter, error)
func (*PriorityRouter) Name ¶ added in v3.3.2
func (p *PriorityRouter) Name() string
func (*PriorityRouter) Notify ¶
func (p *PriorityRouter) Notify(invokers []base.Invoker)
func (*PriorityRouter) Pool ¶ added in v3.3.2
func (p *PriorityRouter) Pool(invokers []base.Invoker) (router.AddrPool, router.AddrMetadata)
Pool builds bitmap indices for tag, address, and port keys. Key space uses "\x00" as separator. Other Poolable routers should use different prefixes to avoid conflicts.
func (*PriorityRouter) Priority ¶
func (p *PriorityRouter) Priority() int64
func (*PriorityRouter) Process ¶
func (p *PriorityRouter) Process(event *config_center.ConfigChangeEvent)
Process applies config-center updates as the authoritative rule source at runtime. It does not merge with static rules bootstrapped via SetStaticConfig; any later dynamic update replaces the current static-derived state.
func (*PriorityRouter) Route ¶
func (p *PriorityRouter) Route(invokers []base.Invoker, url *common.URL, invocation base.Invocation) []base.Invoker
Route Determine the target invokers list.
func (*PriorityRouter) SetCache ¶ added in v3.3.2
func (p *PriorityRouter) SetCache(cache router.Cache)
func (*PriorityRouter) SetStaticConfig ¶ added in v3.3.2
func (p *PriorityRouter) SetStaticConfig(cfg *global.RouterConfig)
SetStaticConfig applies a RouterConfig directly, bypassing YAML parsing. This is the correct entry point for static (code-configured) rules; Process is designed for dynamic config-center updates that arrive as YAML text. Static and dynamic rules are not merged: later Process updates replace the current state built here.
func (*PriorityRouter) ShouldPool ¶ added in v3.3.2
func (p *PriorityRouter) ShouldPool() bool
func (*PriorityRouter) URL ¶
func (p *PriorityRouter) URL() *common.URL
type RouteFactory ¶
type RouteFactory struct{}
RouteFactory router factory
func (*RouteFactory) NewPriorityRouter ¶
func (f *RouteFactory) NewPriorityRouter(_ *common.URL) (router.PriorityRouter, error)
NewPriorityRouter construct a new PriorityRouter