nomad: shrink the recv buffer of idle streams
This commit is contained in:
parent
126e180657
commit
5ea5344773
|
@ -89,6 +89,12 @@ func (c *Conn) returnClient(client *StreamClient) {
|
|||
if c.clients.Len() < c.pool.maxStreams && atomic.LoadInt32(&c.shouldClose) == 0 {
|
||||
c.clients.PushFront(client)
|
||||
didSave = true
|
||||
|
||||
// If this is a Yamux stream, shrink the internal buffers so that
|
||||
// we can GC the idle memory
|
||||
if ys, ok := client.stream.(*yamux.Stream); ok {
|
||||
ys.Shrink()
|
||||
}
|
||||
}
|
||||
c.clientLock.Unlock()
|
||||
if !didSave {
|
||||
|
|
Loading…
Reference in New Issue