Refactor bufpool methods

This commit is contained in:
PhatPhuckDave
2024-07-23 14:55:48 +02:00
parent a9827f10ce
commit 2759185dbb
4 changed files with 15 additions and 15 deletions

View File

@@ -15,7 +15,7 @@ func NewBufferPoolManager() *BufferPoolManager {
} }
} }
func (bpm *BufferPoolManager) GetBuffer(size uint) *[]uint8 { func (bpm *BufferPoolManager) Get(size uint) *[]uint8 {
bpm.mu.RLock() bpm.mu.RLock()
pool, exists := bpm.pools[size] pool, exists := bpm.pools[size]
bpm.mu.RUnlock() bpm.mu.RUnlock()
@@ -39,7 +39,7 @@ func (bpm *BufferPoolManager) GetBuffer(size uint) *[]uint8 {
return pool.Get().(*[]uint8) return pool.Get().(*[]uint8)
} }
func (bpm *BufferPoolManager) PutBuffer(buf *[]uint8) { func (bpm *BufferPoolManager) Put(buf *[]uint8) {
size := uint(len(*buf)) size := uint(len(*buf))
bpm.mu.RLock() bpm.mu.RLock()
pool, exists := bpm.pools[size] pool, exists := bpm.pools[size]

View File

@@ -9,7 +9,7 @@ func TestRetrieveBufferOfRequestedSize(t *testing.T) {
bpm := NewBufferPoolManager() bpm := NewBufferPoolManager()
size := 1024 size := 1024
buffer := bpm.GetBuffer(uint(size)) buffer := bpm.Get(uint(size))
if buffer == nil { if buffer == nil {
t.Fatalf("Expected buffer, got nil") t.Fatalf("Expected buffer, got nil")
@@ -24,7 +24,7 @@ func TestRequestBufferSizeZero(t *testing.T) {
bpm := NewBufferPoolManager() bpm := NewBufferPoolManager()
size := 0 size := 0
buffer := bpm.GetBuffer(uint(size)) buffer := bpm.Get(uint(size))
if buffer == nil { if buffer == nil {
t.Fatalf("Expected buffer, got nil") t.Fatalf("Expected buffer, got nil")
@@ -46,7 +46,7 @@ func TestConcurrentAccessToBufferPool(t *testing.T) {
wg.Add(1) wg.Add(1)
go func() { go func() {
defer wg.Done() defer wg.Done()
buffer := bpm.GetBuffer(uint(size)) buffer := bpm.Get(uint(size))
if buffer == nil { if buffer == nil {
t.Errorf("Expected buffer, got nil") t.Errorf("Expected buffer, got nil")
} }
@@ -63,7 +63,7 @@ func TestGetBufferLockUnlock(t *testing.T) {
bpm := NewBufferPoolManager() bpm := NewBufferPoolManager()
size := 1024 size := 1024
buffer := bpm.GetBuffer(uint(size)) buffer := bpm.Get(uint(size))
if buffer == nil { if buffer == nil {
t.Fatalf("Expected buffer, got nil") t.Fatalf("Expected buffer, got nil")
@@ -78,7 +78,7 @@ func TestVerifyPoolCreationForNewSizes(t *testing.T) {
bpm := NewBufferPoolManager() bpm := NewBufferPoolManager()
size := 512 size := 512
buffer := bpm.GetBuffer(uint(size)) buffer := bpm.Get(uint(size))
if buffer == nil { if buffer == nil {
t.Fatalf("Expected buffer, got nil") t.Fatalf("Expected buffer, got nil")
@@ -93,7 +93,7 @@ func TestBufferPoolManagerGetBuffer(t *testing.T) {
bpm := NewBufferPoolManager() bpm := NewBufferPoolManager()
size := 1024 size := 1024
buffer := bpm.GetBuffer(uint(size)) buffer := bpm.Get(uint(size))
if buffer == nil { if buffer == nil {
t.Fatalf("Expected buffer, got nil") t.Fatalf("Expected buffer, got nil")
@@ -109,7 +109,7 @@ func TestGetBufferWithMultipleSizes(t *testing.T) {
sizes := []int{512, 1024, 2048} sizes := []int{512, 1024, 2048}
for _, size := range sizes { for _, size := range sizes {
buffer := bpm.GetBuffer(uint(size)) buffer := bpm.Get(uint(size))
if buffer == nil { if buffer == nil {
t.Fatalf("Expected buffer for size %d, got nil", size) t.Fatalf("Expected buffer for size %d, got nil", size)
@@ -126,7 +126,7 @@ func TestGetBufferIsAlwaysZero(t *testing.T) {
var size uint = 1024 * 64 var size uint = 1024 * 64
for i := 0; i < 1000; i++ { for i := 0; i < 1000; i++ {
buffer := bpm.GetBuffer(size) buffer := bpm.Get(size)
if buffer == nil { if buffer == nil {
t.Fatalf("Expected buffer for size %d, got nil", size) t.Fatalf("Expected buffer for size %d, got nil", size)
@@ -142,6 +142,6 @@ func TestGetBufferIsAlwaysZero(t *testing.T) {
} }
} }
bpm.PutBuffer(buffer) bpm.Put(buffer)
} }
} }

View File

@@ -25,6 +25,7 @@ type (
header PDU_HEADER header PDU_HEADER
} }
) )
// Hmm the header can be partially encoded // Hmm the header can be partially encoded
// As in command_status can just be null // As in command_status can just be null
// So not 0s, null, non existent, not encoded // So not 0s, null, non existent, not encoded
@@ -56,9 +57,8 @@ type (
// What are the other 0s? // What are the other 0s?
// Don't know // Don't know
func (p *PDU_HEADER) Encode() (*[]uint8, error) { func (p *PDU_HEADER) Encode() (*[]uint8, error) {
buf := ByteBufferPool.GetBuffer(uint(p.Size())) buf := ByteBufferPool.Get(uint(p.Size()))
err := p.EncodeInto(buf) err := p.EncodeInto(buf)
return buf, err return buf, err
} }

View File

@@ -61,7 +61,7 @@ type (
) )
func (p *SUBMIT_SM) Encode() (*[]byte, error) { func (p *SUBMIT_SM) Encode() (*[]byte, error) {
buf := ByteBufferPool.GetBuffer(uint(p.Size())) buf := ByteBufferPool.Get(uint(p.Size()))
err := p.EncodeInto(buf) err := p.EncodeInto(buf)
return buf, err return buf, err
} }