mirror of
https://github.com/zeromicro/go-zero.git
synced 2025-01-23 09:00:20 +08:00
chore: fix typo (#4246)
This commit is contained in:
parent
775b105ab2
commit
9f8455ddb3
@ -135,5 +135,5 @@ func verify(t *testing.T, fn func() bool) {
|
|||||||
count++
|
count++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert.True(t, count >= 80, fmt.Sprintf("should be greater than 80, actual %d", count))
|
assert.True(t, count >= 75, fmt.Sprintf("should be greater than 75, actual %d", count))
|
||||||
}
|
}
|
||||||
|
@ -84,10 +84,10 @@ func Range(source <-chan any) Stream {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// AllMach returns whether all elements of this stream match the provided predicate.
|
// AllMatch returns whether all elements of this stream match the provided predicate.
|
||||||
// May not evaluate the predicate on all elements if not necessary for determining the result.
|
// May not evaluate the predicate on all elements if not necessary for determining the result.
|
||||||
// If the stream is empty then true is returned and the predicate is not evaluated.
|
// If the stream is empty then true is returned and the predicate is not evaluated.
|
||||||
func (s Stream) AllMach(predicate func(item any) bool) bool {
|
func (s Stream) AllMatch(predicate func(item any) bool) bool {
|
||||||
for item := range s.source {
|
for item := range s.source {
|
||||||
if !predicate(item) {
|
if !predicate(item) {
|
||||||
// make sure the former goroutine not block, and current func returns fast.
|
// make sure the former goroutine not block, and current func returns fast.
|
||||||
@ -99,10 +99,10 @@ func (s Stream) AllMach(predicate func(item any) bool) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// AnyMach returns whether any elements of this stream match the provided predicate.
|
// AnyMatch returns whether any elements of this stream match the provided predicate.
|
||||||
// May not evaluate the predicate on all elements if not necessary for determining the result.
|
// May not evaluate the predicate on all elements if not necessary for determining the result.
|
||||||
// If the stream is empty then false is returned and the predicate is not evaluated.
|
// If the stream is empty then false is returned and the predicate is not evaluated.
|
||||||
func (s Stream) AnyMach(predicate func(item any) bool) bool {
|
func (s Stream) AnyMatch(predicate func(item any) bool) bool {
|
||||||
for item := range s.source {
|
for item := range s.source {
|
||||||
if predicate(item) {
|
if predicate(item) {
|
||||||
// make sure the former goroutine not block, and current func returns fast.
|
// make sure the former goroutine not block, and current func returns fast.
|
||||||
|
@ -398,16 +398,16 @@ func TestWalk(t *testing.T) {
|
|||||||
|
|
||||||
func TestStream_AnyMach(t *testing.T) {
|
func TestStream_AnyMach(t *testing.T) {
|
||||||
runCheckedTest(t, func(t *testing.T) {
|
runCheckedTest(t, func(t *testing.T) {
|
||||||
assetEqual(t, false, Just(1, 2, 3).AnyMach(func(item any) bool {
|
assetEqual(t, false, Just(1, 2, 3).AnyMatch(func(item any) bool {
|
||||||
return item.(int) == 4
|
return item.(int) == 4
|
||||||
}))
|
}))
|
||||||
assetEqual(t, false, Just(1, 2, 3).AnyMach(func(item any) bool {
|
assetEqual(t, false, Just(1, 2, 3).AnyMatch(func(item any) bool {
|
||||||
return item.(int) == 0
|
return item.(int) == 0
|
||||||
}))
|
}))
|
||||||
assetEqual(t, true, Just(1, 2, 3).AnyMach(func(item any) bool {
|
assetEqual(t, true, Just(1, 2, 3).AnyMatch(func(item any) bool {
|
||||||
return item.(int) == 2
|
return item.(int) == 2
|
||||||
}))
|
}))
|
||||||
assetEqual(t, true, Just(1, 2, 3).AnyMach(func(item any) bool {
|
assetEqual(t, true, Just(1, 2, 3).AnyMatch(func(item any) bool {
|
||||||
return item.(int) == 2
|
return item.(int) == 2
|
||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
@ -416,17 +416,17 @@ func TestStream_AnyMach(t *testing.T) {
|
|||||||
func TestStream_AllMach(t *testing.T) {
|
func TestStream_AllMach(t *testing.T) {
|
||||||
runCheckedTest(t, func(t *testing.T) {
|
runCheckedTest(t, func(t *testing.T) {
|
||||||
assetEqual(
|
assetEqual(
|
||||||
t, true, Just(1, 2, 3).AllMach(func(item any) bool {
|
t, true, Just(1, 2, 3).AllMatch(func(item any) bool {
|
||||||
return true
|
return true
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
assetEqual(
|
assetEqual(
|
||||||
t, false, Just(1, 2, 3).AllMach(func(item any) bool {
|
t, false, Just(1, 2, 3).AllMatch(func(item any) bool {
|
||||||
return false
|
return false
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
assetEqual(
|
assetEqual(
|
||||||
t, false, Just(1, 2, 3).AllMach(func(item any) bool {
|
t, false, Just(1, 2, 3).AllMatch(func(item any) bool {
|
||||||
return item.(int) == 1
|
return item.(int) == 1
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
@ -22,13 +22,20 @@ const (
|
|||||||
// Name is the name of p2c balancer.
|
// Name is the name of p2c balancer.
|
||||||
Name = "p2c_ewma"
|
Name = "p2c_ewma"
|
||||||
|
|
||||||
decayTime = int64(time.Second * 10) // default value from finagle
|
// default value from finagle
|
||||||
forcePick = int64(time.Second) // If a node is not selected for a period of time, it is forcibly selected.
|
decayTime = int64(time.Second * 10)
|
||||||
initSuccess = 1000 // Initial success count
|
// if a node is not selected for a period of time, it is forcibly selected.
|
||||||
throttleSuccess = initSuccess / 2 // Success count to trigger throttling
|
forcePick = int64(time.Second)
|
||||||
penalty = int64(math.MaxInt32) // Penalty value for load calculation
|
// initial success count
|
||||||
pickTimes = 3 // Number of pick attempts
|
initSuccess = 1000
|
||||||
logInterval = time.Minute // Log interval for statistics
|
// success count to trigger throttling
|
||||||
|
throttleSuccess = initSuccess / 2
|
||||||
|
// penalty value for load calculation
|
||||||
|
penalty = int64(math.MaxInt32)
|
||||||
|
// number of pick attempts
|
||||||
|
pickTimes = 3
|
||||||
|
// log interval for statistics
|
||||||
|
logInterval = time.Minute
|
||||||
)
|
)
|
||||||
|
|
||||||
var emptyPickResult balancer.PickResult
|
var emptyPickResult balancer.PickResult
|
||||||
@ -45,7 +52,7 @@ func (b *p2cPickerBuilder) Build(info base.PickerBuildInfo) balancer.Picker {
|
|||||||
return base.NewErrPicker(balancer.ErrNoSubConnAvailable)
|
return base.NewErrPicker(balancer.ErrNoSubConnAvailable)
|
||||||
}
|
}
|
||||||
|
|
||||||
var conns []*subConn
|
conns := make([]*subConn, 0, len(readySCs))
|
||||||
for conn, connInfo := range readySCs {
|
for conn, connInfo := range readySCs {
|
||||||
conns = append(conns, &subConn{
|
conns = append(conns, &subConn{
|
||||||
addr: connInfo.Address,
|
addr: connInfo.Address,
|
||||||
@ -122,8 +129,9 @@ func (p *p2cPicker) buildDoneFunc(c *subConn) func(info balancer.DoneInfo) {
|
|||||||
td = 0
|
td = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// As the td/decayTime value increases, indicating an increase in delay, the value of w (y axis) will decrease, inversely proportional.
|
// As the td/decayTime value increases, indicating an increase in delay,
|
||||||
// The function curve of y = x^(-x) is as follows.
|
// the value of w (y-axis) will decrease, inversely proportional.
|
||||||
|
// The function curve of y = x^(-x) is as follows:
|
||||||
// https://github.com/zeromicro/zero-doc/blob/main/doc/images/y_e_x.png?raw=true
|
// https://github.com/zeromicro/zero-doc/blob/main/doc/images/y_e_x.png?raw=true
|
||||||
w := math.Exp(float64(-td) / float64(decayTime))
|
w := math.Exp(float64(-td) / float64(decayTime))
|
||||||
lag := int64(now) - start
|
lag := int64(now) - start
|
||||||
@ -191,7 +199,8 @@ type subConn struct {
|
|||||||
// The request latency measured by the weighted moving average algorithm.
|
// The request latency measured by the weighted moving average algorithm.
|
||||||
lag uint64
|
lag uint64
|
||||||
|
|
||||||
// The value represents the number of requests that are either pending or just starting at the current node, and it is obtained through atomic addition.
|
// The value represents the number of requests that are either pending or just
|
||||||
|
// starting at the current node, and it is obtained through atomic addition.
|
||||||
inflight int64
|
inflight int64
|
||||||
success uint64
|
success uint64
|
||||||
requests int64
|
requests int64
|
||||||
|
Loading…
Reference in New Issue
Block a user