[#1746] network: Set timeout for streaming operations

Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>
This commit is contained in:
Evgenii Stratonikov 2022-09-06 18:23:59 +03:00 committed by LeL
parent 0140ac354b
commit 4354359aed
11 changed files with 38 additions and 11 deletions

View file

@ -11,6 +11,9 @@ const (
// DialTimeoutDefault is a default dial timeout of NeoFS API client connection.
DialTimeoutDefault = 5 * time.Second
// StreamTimeoutDefault is a default timeout of NeoFS API streaming operation.
StreamTimeoutDefault = 15 * time.Second
)
// DialTimeout returns the value of "dial_timeout" config parameter
@ -25,3 +28,16 @@ func DialTimeout(c *config.Config) time.Duration {
return DialTimeoutDefault
}
// StreamTimeout returns the value of "stream_timeout" config parameter
// from "apiclient" section.
//
// Returns DialTimeoutDefault if the value is not positive duration.
func StreamTimeout(c *config.Config) time.Duration {
v := config.DurationSafe(c.Sub(subsection), "stream_timeout")
if v > 0 {
return v
}
return StreamTimeoutDefault
}