code optimize

This commit is contained in:
jebbs 2022-10-13 10:16:09 +08:00
parent 6604aa1ad6
commit d2d7848887
3 changed files with 8 additions and 16 deletions

View File

@ -130,17 +130,15 @@ func (s *Balancer) Start() error {
if s.fallbackTag == "" {
return E.New("fallback not set")
}
if s.Balancer == nil {
return E.New("balancer not set")
}
outbound, loaded := s.router.Outbound(s.fallbackTag)
if !loaded {
return E.New("fallback outbound not found: ", s.fallbackTag)
}
s.fallback = outbound
return nil
}
func (s *Balancer) setBalancer(b balancer.Balancer) error {
s.Balancer = b
if starter, isStarter := b.(common.Starter); isStarter {
if starter, isStarter := s.Balancer.(common.Starter); isStarter {
err := starter.Start()
if err != nil {
return err

View File

@ -38,13 +38,10 @@ func NewLeastLoad(router adapter.Router, logger log.ContextLogger, tag string, o
// Start implements common.Starter
func (s *LeastLoad) Start() error {
err := s.Balancer.Start()
if err != nil {
return err
}
b, err := balancer.NewLeastLoad(s.router, s.logger, s.options)
if err != nil {
return err
}
return s.setBalancer(b)
s.Balancer.Balancer = b
return s.Balancer.Start()
}

View File

@ -38,13 +38,10 @@ func NewLeastPing(router adapter.Router, logger log.ContextLogger, tag string, o
// Start implements common.Starter
func (s *LeastPing) Start() error {
err := s.Balancer.Start()
if err != nil {
return err
}
b, err := balancer.NewLeastPing(s.router, s.logger, s.options)
if err != nil {
return err
}
return s.setBalancer(b)
s.Balancer.Balancer = b
return s.Balancer.Start()
}