mirror of https://github.com/grpc/grpc-go.git
transport: when using write buffer pooling, use input size instead of size*2 (#6983)
This commit is contained in:
parent
3ae77e6528
commit
3c2a44dca3
|
|
@ -154,9 +154,7 @@ func WithSharedWriteBuffer(val bool) DialOption {
|
||||||
}
|
}
|
||||||
|
|
||||||
// WithWriteBufferSize determines how much data can be batched before doing a
|
// WithWriteBufferSize determines how much data can be batched before doing a
|
||||||
// write on the wire. The corresponding memory allocation for this buffer will
|
// write on the wire. The default value for this buffer is 32KB.
|
||||||
// be twice the size to keep syscalls low. The default value for this buffer is
|
|
||||||
// 32KB.
|
|
||||||
//
|
//
|
||||||
// Zero or negative values will disable the write buffer such that each write
|
// Zero or negative values will disable the write buffer such that each write
|
||||||
// will be on underlying connection. Note: A Send call may not directly
|
// will be on underlying connection. Note: A Send call may not directly
|
||||||
|
|
|
||||||
|
|
@ -418,10 +418,9 @@ func newFramer(conn net.Conn, writeBufferSize, readBufferSize int, sharedWriteBu
|
||||||
return f
|
return f
|
||||||
}
|
}
|
||||||
|
|
||||||
func getWriteBufferPool(writeBufferSize int) *sync.Pool {
|
func getWriteBufferPool(size int) *sync.Pool {
|
||||||
writeBufferMutex.Lock()
|
writeBufferMutex.Lock()
|
||||||
defer writeBufferMutex.Unlock()
|
defer writeBufferMutex.Unlock()
|
||||||
size := writeBufferSize * 2
|
|
||||||
pool, ok := writeBufferPoolMap[size]
|
pool, ok := writeBufferPoolMap[size]
|
||||||
if ok {
|
if ok {
|
||||||
return pool
|
return pool
|
||||||
|
|
|
||||||
|
|
@ -249,11 +249,9 @@ func SharedWriteBuffer(val bool) ServerOption {
|
||||||
}
|
}
|
||||||
|
|
||||||
// WriteBufferSize determines how much data can be batched before doing a write
|
// WriteBufferSize determines how much data can be batched before doing a write
|
||||||
// on the wire. The corresponding memory allocation for this buffer will be
|
// on the wire. The default value for this buffer is 32KB. Zero or negative
|
||||||
// twice the size to keep syscalls low. The default value for this buffer is
|
// values will disable the write buffer such that each write will be on underlying
|
||||||
// 32KB. Zero or negative values will disable the write buffer such that each
|
// connection. Note: A Send call may not directly translate to a write.
|
||||||
// write will be on underlying connection.
|
|
||||||
// Note: A Send call may not directly translate to a write.
|
|
||||||
func WriteBufferSize(s int) ServerOption {
|
func WriteBufferSize(s int) ServerOption {
|
||||||
return newFuncServerOption(func(o *serverOptions) {
|
return newFuncServerOption(func(o *serverOptions) {
|
||||||
o.writeBufferSize = s
|
o.writeBufferSize = s
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue