sse_scanner_buffer_pool.go 516 B

1234567891011121314151617181920212223242526272829
  1. package service
  2. import "sync"
  3. const sseScannerBuf64KSize = 64 * 1024
  4. type sseScannerBuf64K [sseScannerBuf64KSize]byte
  5. var sseScannerBuf64KPool = sync.Pool{
  6. New: func() any {
  7. return new(sseScannerBuf64K)
  8. },
  9. }
  10. func getSSEScannerBuf64K() *sseScannerBuf64K {
  11. v := sseScannerBuf64KPool.Get()
  12. buf, ok := v.(*sseScannerBuf64K)
  13. if !ok || buf == nil {
  14. return new(sseScannerBuf64K)
  15. }
  16. return buf
  17. }
  18. func putSSEScannerBuf64K(buf *sseScannerBuf64K) {
  19. if buf == nil {
  20. return
  21. }
  22. sseScannerBuf64KPool.Put(buf)
  23. }