mirror of
https://github.com/onyx-and-iris/q3rcon-proxy.git
synced 2026-04-07 07:43:30 +00:00
move the functional option into option.go
This commit is contained in:
22
option.go
Normal file
22
option.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package udpproxy
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// Option is a functional option type that allows us to configure the Client.
|
||||
type Option func(*Client)
|
||||
|
||||
// WithSessionTimeout is a functional option to set the session timeout
|
||||
func WithSessionTimeout(timeout time.Duration) Option {
|
||||
return func(c *Client) {
|
||||
if timeout < time.Minute {
|
||||
log.Warnf("cannot set stale session timeout to less than 1 minute.. defaulting to 20 minutes")
|
||||
return
|
||||
}
|
||||
|
||||
c.sessionTimeout = timeout
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user