mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-15 00:15:32 +02:00
Bump go-git
This commit is contained in:
29
vendor/github.com/jesseduffield/go-git/v5/utils/sync/bufio.go
generated
vendored
Normal file
29
vendor/github.com/jesseduffield/go-git/v5/utils/sync/bufio.go
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
package sync
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"io"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var bufioReader = sync.Pool{
|
||||
New: func() interface{} {
|
||||
return bufio.NewReader(nil)
|
||||
},
|
||||
}
|
||||
|
||||
// GetBufioReader returns a *bufio.Reader that is managed by a sync.Pool.
|
||||
// Returns a bufio.Reader that is reset with reader and ready for use.
|
||||
//
|
||||
// After use, the *bufio.Reader should be put back into the sync.Pool
|
||||
// by calling PutBufioReader.
|
||||
func GetBufioReader(reader io.Reader) *bufio.Reader {
|
||||
r := bufioReader.Get().(*bufio.Reader)
|
||||
r.Reset(reader)
|
||||
return r
|
||||
}
|
||||
|
||||
// PutBufioReader puts reader back into its sync.Pool.
|
||||
func PutBufioReader(reader *bufio.Reader) {
|
||||
bufioReader.Put(reader)
|
||||
}
|
51
vendor/github.com/jesseduffield/go-git/v5/utils/sync/bytes.go
generated
vendored
Normal file
51
vendor/github.com/jesseduffield/go-git/v5/utils/sync/bytes.go
generated
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
package sync
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var (
|
||||
byteSlice = sync.Pool{
|
||||
New: func() interface{} {
|
||||
b := make([]byte, 16*1024)
|
||||
return &b
|
||||
},
|
||||
}
|
||||
bytesBuffer = sync.Pool{
|
||||
New: func() interface{} {
|
||||
return bytes.NewBuffer(nil)
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
// GetByteSlice returns a *[]byte that is managed by a sync.Pool.
|
||||
// The initial slice length will be 16384 (16kb).
|
||||
//
|
||||
// After use, the *[]byte should be put back into the sync.Pool
|
||||
// by calling PutByteSlice.
|
||||
func GetByteSlice() *[]byte {
|
||||
buf := byteSlice.Get().(*[]byte)
|
||||
return buf
|
||||
}
|
||||
|
||||
// PutByteSlice puts buf back into its sync.Pool.
|
||||
func PutByteSlice(buf *[]byte) {
|
||||
byteSlice.Put(buf)
|
||||
}
|
||||
|
||||
// GetBytesBuffer returns a *bytes.Buffer that is managed by a sync.Pool.
|
||||
// Returns a buffer that is reset and ready for use.
|
||||
//
|
||||
// After use, the *bytes.Buffer should be put back into the sync.Pool
|
||||
// by calling PutBytesBuffer.
|
||||
func GetBytesBuffer() *bytes.Buffer {
|
||||
buf := bytesBuffer.Get().(*bytes.Buffer)
|
||||
buf.Reset()
|
||||
return buf
|
||||
}
|
||||
|
||||
// PutBytesBuffer puts buf back into its sync.Pool.
|
||||
func PutBytesBuffer(buf *bytes.Buffer) {
|
||||
bytesBuffer.Put(buf)
|
||||
}
|
74
vendor/github.com/jesseduffield/go-git/v5/utils/sync/zlib.go
generated
vendored
Normal file
74
vendor/github.com/jesseduffield/go-git/v5/utils/sync/zlib.go
generated
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
package sync
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"compress/zlib"
|
||||
"io"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var (
|
||||
zlibInitBytes = []byte{0x78, 0x9c, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01}
|
||||
zlibReader = sync.Pool{
|
||||
New: func() interface{} {
|
||||
r, _ := zlib.NewReader(bytes.NewReader(zlibInitBytes))
|
||||
return ZLibReader{
|
||||
Reader: r.(zlibReadCloser),
|
||||
}
|
||||
},
|
||||
}
|
||||
zlibWriter = sync.Pool{
|
||||
New: func() interface{} {
|
||||
return zlib.NewWriter(nil)
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
type zlibReadCloser interface {
|
||||
io.ReadCloser
|
||||
zlib.Resetter
|
||||
}
|
||||
|
||||
type ZLibReader struct {
|
||||
dict *[]byte
|
||||
Reader zlibReadCloser
|
||||
}
|
||||
|
||||
// GetZlibReader returns a ZLibReader that is managed by a sync.Pool.
|
||||
// Returns a ZLibReader that is reset using a dictionary that is
|
||||
// also managed by a sync.Pool.
|
||||
//
|
||||
// After use, the ZLibReader should be put back into the sync.Pool
|
||||
// by calling PutZlibReader.
|
||||
func GetZlibReader(r io.Reader) (ZLibReader, error) {
|
||||
z := zlibReader.Get().(ZLibReader)
|
||||
z.dict = GetByteSlice()
|
||||
|
||||
err := z.Reader.Reset(r, *z.dict)
|
||||
|
||||
return z, err
|
||||
}
|
||||
|
||||
// PutZlibReader puts z back into its sync.Pool, first closing the reader.
|
||||
// The Byte slice dictionary is also put back into its sync.Pool.
|
||||
func PutZlibReader(z ZLibReader) {
|
||||
z.Reader.Close()
|
||||
PutByteSlice(z.dict)
|
||||
zlibReader.Put(z)
|
||||
}
|
||||
|
||||
// GetZlibWriter returns a *zlib.Writer that is managed by a sync.Pool.
|
||||
// Returns a writer that is reset with w and ready for use.
|
||||
//
|
||||
// After use, the *zlib.Writer should be put back into the sync.Pool
|
||||
// by calling PutZlibWriter.
|
||||
func GetZlibWriter(w io.Writer) *zlib.Writer {
|
||||
z := zlibWriter.Get().(*zlib.Writer)
|
||||
z.Reset(w)
|
||||
return z
|
||||
}
|
||||
|
||||
// PutZlibWriter puts w back into its sync.Pool.
|
||||
func PutZlibWriter(w *zlib.Writer) {
|
||||
zlibWriter.Put(w)
|
||||
}
|
Reference in New Issue
Block a user