d71537d431
将流式响应中 bufio.Scanner 的 64KB buffer 从每次 make 分配改为 sync.Pool 复用,统一切片表达式为 [:0]、变量命名为 scanBuf, 并补充对应的单元测试。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
20 lines
362 B
Go
20 lines
362 B
Go
package service
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestSSEScannerBuf64KPool_GetPutDoesNotPanic(t *testing.T) {
|
|
buf := getSSEScannerBuf64K()
|
|
require.NotNil(t, buf)
|
|
require.Equal(t, sseScannerBuf64KSize, len(buf[:]))
|
|
|
|
buf[0] = 1
|
|
putSSEScannerBuf64K(buf)
|
|
|
|
// 允许传入 nil,确保不会 panic
|
|
putSSEScannerBuf64K(nil)
|
|
}
|