From 374ca2159407c6f3ec786bc19e25da44ded62fcf Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Fri, 6 Mar 2026 11:22:29 +0800 Subject: internal/bufpool: Split files --- internal/bufpool/class.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 internal/bufpool/class.go (limited to 'internal/bufpool/class.go') diff --git a/internal/bufpool/class.go b/internal/bufpool/class.go new file mode 100644 index 00000000..60842d5e --- /dev/null +++ b/internal/bufpool/class.go @@ -0,0 +1,23 @@ +package bufpool + +var sizeClasses = [...]int{ + DefaultBufferCap, + 64 << 10, + 128 << 10, + 256 << 10, + 512 << 10, + 1 << 20, + 2 << 20, + 4 << 20, + maxPooledBuffer, +} + +func classFor(size int) (idx, classCap int, ok bool) { + for i, class := range sizeClasses { + if size <= class { + return i, class, true + } + } + + return -1, size, false +} -- cgit v1.3.1-10-gc9f91