aboutsummaryrefslogtreecommitdiff
path: root/server.go
diff options
context:
space:
mode:
authorGravatar Kilos Liu <68101977+kilosliu@users.noreply.github.com> 2021-12-26 14:56:34 +0800
committerGravatar GitHub <noreply@github.com> 2021-12-26 07:56:34 +0100
commit6b558111301e8e280c12d1af939661940cad84ff (patch)
treec317873b2f6b84b6d62d82f4724cfc5d261f7748 /server.go
parentAllow to set Host header for Client (#1169) (diff)
downloadfasthttp-6b558111301e8e280c12d1af939661940cad84ff.tar.gz
fasthttp-6b558111301e8e280c12d1af939661940cad84ff.tar.bz2
fasthttp-6b558111301e8e280c12d1af939661940cad84ff.zip
Add MaxIdleWorkerDuration to Server. (#1183)
Diffstat (limited to 'server.go')
-rw-r--r--server.go15
1 files changed, 10 insertions, 5 deletions
diff --git a/server.go b/server.go
index edbd699..90ba5a8 100644
--- a/server.go
+++ b/server.go
@@ -248,6 +248,10 @@ type Server struct {
// Deprecated: Use IdleTimeout instead.
MaxKeepaliveDuration time.Duration
+ // MaxIdleWorkerDuration is the maximum idle time of a single worker in the underlying
+ // worker pool of the Server. Idle workers beyond this time will be cleared.
+ MaxIdleWorkerDuration time.Duration
+
// Period between tcp keep-alive messages.
//
// TCP keep-alive period is determined by operation system by default.
@@ -1757,11 +1761,12 @@ func (s *Server) Serve(ln net.Listener) error {
s.mu.Unlock()
wp := &workerPool{
- WorkerFunc: s.serveConn,
- MaxWorkersCount: maxWorkersCount,
- LogAllErrors: s.LogAllErrors,
- Logger: s.logger(),
- connState: s.setState,
+ WorkerFunc: s.serveConn,
+ MaxWorkersCount: maxWorkersCount,
+ LogAllErrors: s.LogAllErrors,
+ MaxIdleWorkerDuration: s.MaxIdleWorkerDuration,
+ Logger: s.logger(),
+ connState: s.setState,
}
wp.Start()