diff options
| author | 2026-03-06 11:22:29 +0800 | |
|---|---|---|
| committer | 2026-03-06 11:22:29 +0800 | |
| commit | 374ca2159407c6f3ec786bc19e25da44ded62fcf (patch) | |
| tree | 4af6ccdb5057f84f0b55a2151231a8f33ed4b41e /internal/bufpool/release.go | |
| parent | diff/lines: Split files (diff) | |
| signature | No signature | |
internal/bufpool: Split files
Diffstat (limited to 'internal/bufpool/release.go')
| -rw-r--r-- | internal/bufpool/release.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/bufpool/release.go b/internal/bufpool/release.go new file mode 100644 index 00000000..d8a52061 --- /dev/null +++ b/internal/bufpool/release.go @@ -0,0 +1,17 @@ +package bufpool + +// Release returns the buffer to the global pool if it originated from the +// pool and its capacity is no larger than maxPooledBuffer. After release, the +// Buffer becomes invalid and should not be used further. +// +// Releasing a non-pooled buffer has no effect beyond clearing its internal +// storage. +func (buf *Buffer) Release() { + if buf.buf == nil { + return + } + + buf.returnToPool() + buf.buf = nil + buf.pool = unpooled +} |
