mirror of
https://github.com/SagerNet/sing-box.git
synced 2025-06-13 05:44:12 +08:00
code optimize
This commit is contained in:
parent
6604aa1ad6
commit
d2d7848887
@ -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
|
||||
|
@ -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()
|
||||
}
|
||||
|
@ -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()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user