Skip to content

Commit

Permalink
优化代码逻辑
Browse files Browse the repository at this point in the history
  • Loading branch information
Changeden committed Aug 20, 2021
1 parent 0d3ba24 commit 1af33a4
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions remoting/getty/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@ import (
)

const (
TCP_READ_TIMEOUT_MIN_VALUE = time.Second * 1
TCP_WRITE_TIMEOUT_MIN_VALUE = time.Second * 5
TCP_READ_WRITE_TIMEOUT_MIN_VALUE = time.Second * 1
)

type (
Expand Down Expand Up @@ -167,11 +166,12 @@ func (c *GettySessionParam) CheckValidity() error {
return perrors.WithMessagef(err, "time.ParseDuration(KeepAlivePeriod{%#v})", c.KeepAlivePeriod)
}

if c.tcpReadTimeout, err = parseTimeDurationByRange(c.TcpReadTimeout, TCP_READ_TIMEOUT_MIN_VALUE, nil); err != nil {
var tcpTimeoutMinVal = TCP_READ_WRITE_TIMEOUT_MIN_VALUE
if c.tcpReadTimeout, err = parseTimeDurationByRange(c.TcpReadTimeout, &tcpTimeoutMinVal, nil); err != nil {
return perrors.WithMessagef(err, "time.ParseDuration(TcpReadTimeout{%#v})", c.TcpReadTimeout)
}

if c.tcpWriteTimeout, err = parseTimeDurationByRange(c.TcpWriteTimeout, TCP_WRITE_TIMEOUT_MIN_VALUE, nil); err != nil {
if c.tcpWriteTimeout, err = parseTimeDurationByRange(c.TcpWriteTimeout, &tcpTimeoutMinVal, nil); err != nil {
return perrors.WithMessagef(err, "time.ParseDuration(TcpWriteTimeout{%#v})", c.TcpWriteTimeout)
}

Expand All @@ -182,16 +182,16 @@ func (c *GettySessionParam) CheckValidity() error {
return nil
}

func parseTimeDurationByRange(timeStr string, min time.Duration, max *time.Duration) (time.Duration, error) {
func parseTimeDurationByRange(timeStr string, min *time.Duration, max *time.Duration) (time.Duration, error) {
result, err := time.ParseDuration(timeStr)
if err != nil {
return min, err
return *min, err
}
if max != nil && min > *max {
min, max = *max, &min
if min != nil && max != nil && *min > *max { // swap
min, max = max, min
}
if result < min {
result = min
if min != nil && result < *min {
result = *min
}
if max != nil && result > *max {
result = *max
Expand Down

0 comments on commit 1af33a4

Please sign in to comment.