package putsvc

import (
	"sync"
)

const defaultAllocSize = 1024

type payload struct {
	Data []byte
}

var putBytesPool = &sync.Pool{
	New: func() any { return &payload{Data: make([]byte, 0, defaultAllocSize)} },
}

func getPayload() *payload {
	return putBytesPool.Get().(*payload)
}

func putPayload(p *payload) {
	p.Data = p.Data[:0]
	putBytesPool.Put(p)
}