initial commit

This commit is contained in:
root
2024-10-30 13:23:52 +01:00
commit 68ba48a3a2
29 changed files with 1977 additions and 0 deletions

50
utils/io.go Normal file
View File

@@ -0,0 +1,50 @@
package utils
import (
"errors"
"io"
"sync"
)
var (
blockSize = 32
)
var (
ErrNoBuf = errors.New("no buffer can be used")
pool = sync.Pool{
New: func() interface{} {
return make([]byte, blockSize*1024)
},
}
)
func getBuffer() []byte {
if buffer, ok := pool.Get().([]byte); ok {
return buffer
}
return nil
}
func putBuffer(buffer []byte) {
pool.Put(buffer)
}
func Copy(dst io.Writer, src io.Reader) (int64, error) {
if wt, ok := src.(io.WriterTo); ok {
return wt.WriteTo(dst)
}
if rt, ok := dst.(io.ReaderFrom); ok {
return rt.ReadFrom(src)
}
if buffer := getBuffer(); nil != buffer {
defer putBuffer(buffer)
return io.CopyBuffer(dst, src, buffer)
}
return 0, ErrNoBuf
}

8
utils/utils.go Normal file
View File

@@ -0,0 +1,8 @@
package utils
func BoolToInt(b bool) int {
if b {
return 1
}
return 0
}