Rework encode to return pointer

This commit is contained in:
PhatPhuckDave
2024-07-22 23:09:32 +02:00
parent 73cc49788f
commit 3d0d8ce676
3 changed files with 12 additions and 12 deletions

View File

@@ -2,7 +2,7 @@ package pdu
import "sync" import "sync"
var byteBufferPool = &BufferPoolManager{ var ByteBufferPool = &BufferPoolManager{
pools: make(map[int]*sync.Pool), pools: make(map[int]*sync.Pool),
mu: sync.Mutex{}, mu: sync.Mutex{},
} }

View File

@@ -26,9 +26,9 @@ type (
} }
) )
func (p *PDU_HEADER) Encode() ([]uint8, error) { func (p *PDU_HEADER) Encode() (*[]uint8, error) {
buf := make([]uint8, 16) buf := ByteBufferPool.GetBuffer(int(p.Size()))
err := p.EncodeInto(&buf) err := p.EncodeInto(buf)
return buf, err return buf, err
} }
func (p *PDU_HEADER) EncodeInto(buf *[]uint8) error { func (p *PDU_HEADER) EncodeInto(buf *[]uint8) error {

View File

@@ -20,8 +20,8 @@ func TestEncodeReturnsByteSliceOfLength16(t *testing.T) {
if err != nil { if err != nil {
t.Errorf("Expected no error, got %v", err) t.Errorf("Expected no error, got %v", err)
} }
if len(result) != 16 { if len(*result) != 16 {
t.Errorf("Expected byte slice of length 16, got %d", len(result)) t.Errorf("Expected byte slice of length 16, got %d", len(*result))
} }
} }
@@ -38,9 +38,9 @@ func TestEncodeHandlesZeroValues(t *testing.T) {
t.Errorf("Expected no error, got %v", err) t.Errorf("Expected no error, got %v", err)
} }
expected := make([]uint8, 16) expected := make([]uint8, 16)
for i, v := range result { for i, v := range *result {
if v != expected[i] { if v != expected[i] {
t.Errorf("Expected byte slice with zero values, got %v", result) t.Errorf("Expected byte slice with zero values, got %v", *result)
break break
} }
} }
@@ -60,9 +60,9 @@ func TestEncodeEncodesProperly(t *testing.T) {
} }
expected := []uint8{0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4} expected := []uint8{0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4}
for i, v := range result { for i, v := range *result {
if v != expected[i] { if v != expected[i] {
t.Errorf("Expected byte slice with values %v, got %v", expected, result) t.Errorf("Expected byte slice with values %v, got %v", expected, *result)
break break
} }
} }
@@ -82,9 +82,9 @@ func TestEncodeEncodesProperlyComplex(t *testing.T) {
} }
expected := []uint8{0, 204, 224, 36, 0, 3, 225, 144, 2, 31, 188, 88, 28, 103, 122, 35} expected := []uint8{0, 204, 224, 36, 0, 3, 225, 144, 2, 31, 188, 88, 28, 103, 122, 35}
for i, v := range result { for i, v := range *result {
if v != expected[i] { if v != expected[i] {
t.Errorf("Expected byte slice with values %v, got %v", expected, result) t.Errorf("Expected byte slice with values %v, got %v", expected, *result)
break break
} }
} }