mirror of
https://github.com/onyx-and-iris/q3rcon.git
synced 2024-11-23 09:00:47 +00:00
28 lines
728 B
Go
28 lines
728 B
Go
|
package q3rcon
|
||
|
|
||
|
import "time"
|
||
|
|
||
|
// Option is a functional option type that allows us to configure the VbanTxt.
|
||
|
type Option func(*Rcon)
|
||
|
|
||
|
// WithLoginTimeout is a functional option to set the login timeout
|
||
|
func WithLoginTimeout(timeout time.Duration) Option {
|
||
|
return func(rcon *Rcon) {
|
||
|
rcon.loginTimeout = timeout
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// WithDefaultTimeout is a functional option to set the default response timeout
|
||
|
func WithDefaultTimeout(timeout time.Duration) Option {
|
||
|
return func(rcon *Rcon) {
|
||
|
rcon.defaultTimeout = timeout
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// WithTimeouts is a functional option to set the timeouts for responses per command
|
||
|
func WithTimeouts(timeouts map[string]time.Duration) Option {
|
||
|
return func(rcon *Rcon) {
|
||
|
rcon.timeouts = timeouts
|
||
|
}
|
||
|
}
|