summaryrefslogtreecommitdiffhomepage
path: root/pkg/buffer/BUILD
diff options
context:
space:
mode:
authorTing-Yu Wang <anivia@google.com>2020-09-22 17:54:37 -0700
committergVisor bot <gvisor-bot@google.com>2020-09-22 17:56:40 -0700
commitc0f21bb19a0ff0fd4bc3bd1f0bed9171e43faf68 (patch)
treea0c75508fce62d8b2b52eca971d523f77acd10af /pkg/buffer/BUILD
parentcf3cef1171bdfb41a27d563eb368d4488e0b99f1 (diff)
pkg/buffer: Reorganize internal structure to allow dynamic sizes.
This change changes `buffer.data` into a `[]byte`, from `[bufferSize]byte`. In exchange, each `buffer` is now grouped together to reduce the number of allocation. Plus, `View` now holds an embeded list of `buffer` (via `pool`) to support the happy path which the number of buffer is small. Expect no extra allocation for the happy path. It is to enable the use case for PacketBuffer, which * each `View` is small (way less than `defaultBufferSize`), and * needs to dynamically transfer ownership of `[]byte` to `View`. (to allow gradual migration) PiperOrigin-RevId: 333197252
Diffstat (limited to 'pkg/buffer/BUILD')
-rw-r--r--pkg/buffer/BUILD7
1 files changed, 6 insertions, 1 deletions
diff --git a/pkg/buffer/BUILD b/pkg/buffer/BUILD
index b03d46d18..1186f788e 100644
--- a/pkg/buffer/BUILD
+++ b/pkg/buffer/BUILD
@@ -20,6 +20,7 @@ go_library(
srcs = [
"buffer.go",
"buffer_list.go",
+ "pool.go",
"safemem.go",
"view.go",
"view_unsafe.go",
@@ -37,9 +38,13 @@ go_test(
name = "buffer_test",
size = "small",
srcs = [
+ "pool_test.go",
"safemem_test.go",
"view_test.go",
],
library = ":buffer",
- deps = ["//pkg/safemem"],
+ deps = [
+ "//pkg/safemem",
+ "//pkg/state",
+ ],
)