3
0
corteza/pkg/options/websocket.go
2020-08-24 15:38:42 +02:00

32 lines
534 B
Go

package options
import (
"time"
)
type (
WebsocketOpt struct {
Timeout time.Duration `env:"WEBSOCKET_TIMEOUT"`
PingTimeout time.Duration `env:"WEBSOCKET_PING_TIMEOUT"`
PingPeriod time.Duration `env:"WEBSOCKET_PING_PERIOD"`
}
)
func Websocket(pfix string) (o *WebsocketOpt) {
const (
timeout = 15 * time.Second
pingTimeout = 120 * time.Second
pingPeriod = (pingTimeout * 9) / 10
)
o = &WebsocketOpt{
Timeout: timeout,
PingTimeout: pingTimeout,
PingPeriod: pingPeriod,
}
fill(o)
return
}