1
0
mirror of https://github.com/fumiama/orbyte.git synced 2026-06-06 02:30:30 +08:00

feat: add async conflict detection

This commit is contained in:
源文雨
2025-04-14 22:41:19 +09:00
parent ac9d26dfb9
commit 162407d64e
8 changed files with 86 additions and 17 deletions

View File

@@ -36,7 +36,7 @@ func (b UserBytes[USRDAT]) B(f func([]byte, *USRDAT)) {
// NewBytes alloc sz bytes.
func (bufferPool BufferPool[USRDAT]) NewBytes(sz int) (b UserBytes[USRDAT]) {
buf := bufferPool.p.New(sz)
buf := bufferPool.New(sz)
b.buf = buf
buf.P(func(buf *UserBuffer[USRDAT]) {
b.b = buf.Len()
@@ -46,7 +46,7 @@ func (bufferPool BufferPool[USRDAT]) NewBytes(sz int) (b UserBytes[USRDAT]) {
// InvolveBytes involve outside buf into pool.
func (bufferPool BufferPool[USRDAT]) InvolveBytes(p ...byte) (b UserBytes[USRDAT]) {
buf := bufferPool.p.Involve(len(p), bytes.NewBuffer(p))
buf := bufferPool.Involve(len(p), bytes.NewBuffer(p))
b.buf = buf
buf.P(func(buf *UserBuffer[USRDAT]) {
b.b = buf.Len()
@@ -57,7 +57,7 @@ func (bufferPool BufferPool[USRDAT]) InvolveBytes(p ...byte) (b UserBytes[USRDAT
// ParseBytes convert outside bytes to Bytes safely
// without adding it into pool.
func (bufferPool BufferPool[USRDAT]) ParseBytes(p ...byte) (b UserBytes[USRDAT]) {
buf := bufferPool.p.Parse(len(p), bytes.NewBuffer(p))
buf := bufferPool.Parse(len(p), bytes.NewBuffer(p))
b.buf = buf
buf.P(func(buf *UserBuffer[USRDAT]) {
b.b = buf.Len()