MCPcopy
hub / github.com/yusing/godoxy / AddServer

Method AddServer

internal/net/gphttp/loadbalancer/loadbalancer.go:124–138  ·  view source on GitHub ↗
(srv types.LoadBalancerServer)

Source from the content-addressed store, hash-verified

122}
123
124func (lb *LoadBalancer) AddServer(srv types.LoadBalancerServer) {
125 lb.poolMu.Lock()
126 defer lb.poolMu.Unlock()
127
128 if old, ok := lb.pool.Get(srv.Key()); ok { // FIXME: this should be a warning
129 lb.sumWeight -= old.Weight()
130 lb.impl.OnRemoveServer(old)
131 lb.pool.Del(old)
132 }
133 lb.pool.Add(srv)
134 lb.sumWeight += srv.Weight()
135
136 lb.rebalance()
137 lb.impl.OnAddServer(srv)
138}
139
140func (lb *LoadBalancer) RemoveServer(srv types.LoadBalancerServer) {
141 lb.poolMu.Lock()

Callers 2

addToLoadBalancerMethod · 0.95
TestRebalanceFunction · 0.80

Calls 8

rebalanceMethod · 0.95
GetMethod · 0.65
KeyMethod · 0.65
WeightMethod · 0.65
OnRemoveServerMethod · 0.65
DelMethod · 0.65
AddMethod · 0.65
OnAddServerMethod · 0.65

Tested by 1

TestRebalanceFunction · 0.64