Skip to content

Commit 68b89ec

Browse files
committed
Updated godco for middleware/proxy
Signed-off-by: Vishal Rana <vr@labstack.com>
1 parent 0898d9e commit 68b89ec

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

Gopkg.lock

Lines changed: 1 addition & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

middleware/proxy.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ type (
2121
// Skipper defines a function to skip middleware.
2222
Skipper Skipper
2323

24-
// Balance defines a load balancing technique.
24+
// Balancer defines a load balancing technique.
2525
// Required.
2626
// Possible values:
27-
// - ProxyRandom
28-
// - ProxyRoundRobin
27+
// - RandomBalancer
28+
// - RoundRobinBalancer
2929
Balancer ProxyBalancer
3030
}
3131

@@ -34,16 +34,19 @@ type (
3434
URL *url.URL
3535
}
3636

37+
// RandomBalancer implements a random load balancing technique.
3738
RandomBalancer struct {
3839
Targets []*ProxyTarget
3940
random *rand.Rand
4041
}
4142

43+
// RoundRobinBalancer implements a round-robin load balancing technique.
4244
RoundRobinBalancer struct {
4345
Targets []*ProxyTarget
4446
i uint32
4547
}
4648

49+
// ProxyBalancer defines an interface to implement a load balancing technique.
4750
ProxyBalancer interface {
4851
Next() *ProxyTarget
4952
}
@@ -98,13 +101,15 @@ func proxyRaw(t *ProxyTarget, c echo.Context) http.Handler {
98101
})
99102
}
100103

104+
// Next randomly returns an upstream target.
101105
func (r *RandomBalancer) Next() *ProxyTarget {
102106
if r.random == nil {
103107
r.random = rand.New(rand.NewSource(int64(time.Now().Nanosecond())))
104108
}
105109
return r.Targets[r.random.Intn(len(r.Targets))]
106110
}
107111

112+
// Next returns an upstream target using round-robin technique.
108113
func (r *RoundRobinBalancer) Next() *ProxyTarget {
109114
r.i = r.i % uint32(len(r.Targets))
110115
t := r.Targets[r.i]

0 commit comments

Comments
 (0)