Documentation
¶
Index ¶
- type Config
- type LoadBalancer
- func (lb *LoadBalancer) AddServer(srv Server)
- func (lb *LoadBalancer) Finish(reason any)
- func (lb *LoadBalancer) Latency() time.Duration
- func (lb *LoadBalancer) MarshalJSON() ([]byte, error)
- func (lb *LoadBalancer) Name() string
- func (lb *LoadBalancer) RemoveServer(srv Server)
- func (lb *LoadBalancer) ServeHTTP(rw http.ResponseWriter, r *http.Request)
- func (lb *LoadBalancer) Start(parent task.Parent) gperr.Error
- func (lb *LoadBalancer) Status() health.Status
- func (lb *LoadBalancer) String() string
- func (lb *LoadBalancer) Task() *task.Task
- func (lb *LoadBalancer) UpdateConfigIfNeeded(cfg *Config)
- func (lb *LoadBalancer) Uptime() time.Duration
- type Mode
- type Pool
- type Server
- type Servers
- type Weight
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LoadBalancer ¶
type LoadBalancer struct { *Config // contains filtered or unexported fields }
TODO: stats of each server. TODO: support weighted mode.
func New ¶
func New(cfg *Config) *LoadBalancer
func (*LoadBalancer) AddServer ¶
func (lb *LoadBalancer) AddServer(srv Server)
func (*LoadBalancer) Finish ¶
func (lb *LoadBalancer) Finish(reason any)
Finish implements task.TaskFinisher.
func (*LoadBalancer) Latency ¶
func (lb *LoadBalancer) Latency() time.Duration
Latency implements health.HealthMonitor.
func (*LoadBalancer) MarshalJSON ¶
func (lb *LoadBalancer) MarshalJSON() ([]byte, error)
MarshalJSON implements health.HealthMonitor.
func (*LoadBalancer) Name ¶
func (lb *LoadBalancer) Name() string
Name implements health.HealthMonitor.
func (*LoadBalancer) RemoveServer ¶
func (lb *LoadBalancer) RemoveServer(srv Server)
func (*LoadBalancer) ServeHTTP ¶
func (lb *LoadBalancer) ServeHTTP(rw http.ResponseWriter, r *http.Request)
func (*LoadBalancer) Start ¶
func (lb *LoadBalancer) Start(parent task.Parent) gperr.Error
Start implements task.TaskStarter.
func (*LoadBalancer) Status ¶
func (lb *LoadBalancer) Status() health.Status
Status implements health.HealthMonitor.
func (*LoadBalancer) String ¶
func (lb *LoadBalancer) String() string
String implements health.HealthMonitor.
func (*LoadBalancer) Task ¶
func (lb *LoadBalancer) Task() *task.Task
Task implements task.TaskStarter.
func (*LoadBalancer) UpdateConfigIfNeeded ¶
func (lb *LoadBalancer) UpdateConfigIfNeeded(cfg *Config)
func (*LoadBalancer) Uptime ¶
func (lb *LoadBalancer) Uptime() time.Duration
Uptime implements health.HealthMonitor.
Click to show internal directories.
Click to hide internal directories.