Added graceful shutdown
This commit is contained in:
30
Configuration.go
Normal file
30
Configuration.go
Normal file
@ -0,0 +1,30 @@
|
||||
package server
|
||||
|
||||
import "time"
|
||||
|
||||
// Configuration represents the server configuration.
|
||||
type Configuration struct {
|
||||
Timeout TimeoutConfiguration `json:"timeouts"`
|
||||
}
|
||||
|
||||
// TimeoutConfiguration lets you configure the different timeout durations.
|
||||
type TimeoutConfiguration struct {
|
||||
Idle time.Duration `json:"idle"`
|
||||
Read time.Duration `json:"read"`
|
||||
ReadHeader time.Duration `json:"readHeader"`
|
||||
Write time.Duration `json:"write"`
|
||||
Shutdown time.Duration `json:"shutdown"`
|
||||
}
|
||||
|
||||
// Reset resets all fields to the default configuration.
|
||||
func defaultConfig() Configuration {
|
||||
return Configuration{
|
||||
Timeout: TimeoutConfiguration{
|
||||
Idle: 3 * time.Minute,
|
||||
Write: 2 * time.Minute,
|
||||
Read: 5 * time.Second,
|
||||
ReadHeader: 5 * time.Second,
|
||||
Shutdown: 250 * time.Millisecond,
|
||||
},
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user