From e2aa0ec1be253069e26c26ac05a141835ca468c6 Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Tue, 28 Jul 2015 16:24:45 +1000 Subject: [PATCH] OutMessage.GrowNoZero --- internal/buffer/out_message.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/buffer/out_message.go b/internal/buffer/out_message.go index e8ab8e0..f2dad9f 100644 --- a/internal/buffer/out_message.go +++ b/internal/buffer/out_message.go @@ -75,7 +75,14 @@ func (b *OutMessage) Grow(size uintptr) (p unsafe.Pointer) { // Equivalent to Grow, except the new segment is not zeroed. Use with caution! func (b *OutMessage) GrowNoZero(size uintptr) (p unsafe.Pointer) { - panic("TODO") + if outMessageSize-b.offset < size { + return + } + + p = unsafe.Pointer(uintptr(unsafe.Pointer(&b.storage)) + b.offset) + b.offset += size + + return } // Equivalent to growing by the length of p, then copying p over the new