mirror of https://github.com/v2ray/v2ray-core
change uint32 to int32
parent
81a147e540
commit
c5bd23105e
|
@ -17,7 +17,7 @@ func ReadMetadata(reader io.Reader) (*FrameMetadata, error) {
|
|||
return nil, newError("invalid metalen ", metaLen).AtError()
|
||||
}
|
||||
|
||||
b := buf.NewSize(uint32(metaLen))
|
||||
b := buf.NewSize(int32(metaLen))
|
||||
defer b.Release()
|
||||
|
||||
if err := b.Reset(buf.ReadFullFrom(reader, int32(metaLen))); err != nil {
|
||||
|
@ -51,7 +51,7 @@ func (r *PacketReader) ReadMultiBuffer() (buf.MultiBuffer, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
b := buf.NewSize(uint32(size))
|
||||
b := buf.NewSize(int32(size))
|
||||
if err := b.Reset(buf.ReadFullFrom(r.reader, int32(size))); err != nil {
|
||||
b.Release()
|
||||
return nil, err
|
||||
|
|
|
@ -179,9 +179,9 @@ func New() *Buffer {
|
|||
}
|
||||
}
|
||||
|
||||
// NewSize creates and returns a buffer with 0 length and at least the given capacity.
|
||||
func NewSize(size uint32) *Buffer {
|
||||
// NewSize creates and returns a buffer with 0 length and at least the given capacity. Capacity must be positive.
|
||||
func NewSize(capacity int32) *Buffer {
|
||||
return &Buffer{
|
||||
v: newBytes(size),
|
||||
v: newBytes(capacity),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ const (
|
|||
Size = 2 * 1024
|
||||
)
|
||||
|
||||
func createAllocFunc(size uint32) func() interface{} {
|
||||
func createAllocFunc(size int32) func() interface{} {
|
||||
return func() interface{} {
|
||||
return make([]byte, size)
|
||||
}
|
||||
|
@ -26,12 +26,12 @@ const (
|
|||
|
||||
var (
|
||||
pool [numPools]sync.Pool
|
||||
poolSize [numPools]uint32
|
||||
largeSize uint32
|
||||
poolSize [numPools]int32
|
||||
largeSize int32
|
||||
)
|
||||
|
||||
func init() {
|
||||
size := uint32(Size)
|
||||
size := int32(Size)
|
||||
for i := 0; i < numPools; i++ {
|
||||
pool[i] = sync.Pool{
|
||||
New: createAllocFunc(size),
|
||||
|
@ -42,7 +42,7 @@ func init() {
|
|||
}
|
||||
}
|
||||
|
||||
func newBytes(size uint32) []byte {
|
||||
func newBytes(size int32) []byte {
|
||||
for idx, ps := range poolSize {
|
||||
if size <= ps {
|
||||
return pool[idx].Get().([]byte)
|
||||
|
@ -52,7 +52,7 @@ func newBytes(size uint32) []byte {
|
|||
}
|
||||
|
||||
func freeBytes(b []byte) {
|
||||
size := uint32(cap(b))
|
||||
size := int32(cap(b))
|
||||
b = b[0:cap(b)]
|
||||
for i := numPools - 1; i >= 0; i-- {
|
||||
if size >= poolSize[i] {
|
||||
|
|
|
@ -39,7 +39,7 @@ func ReadSizeToMultiBuffer(reader io.Reader, size int32) (MultiBuffer, error) {
|
|||
if bSize > Size {
|
||||
bSize = Size
|
||||
}
|
||||
b := NewSize(uint32(bSize))
|
||||
b := NewSize(bSize)
|
||||
if err := b.Reset(ReadFullFrom(reader, bSize)); err != nil {
|
||||
mb.Release()
|
||||
return nil, err
|
||||
|
@ -189,7 +189,7 @@ func (mb *MultiBuffer) SliceBySize(size int32) MultiBuffer {
|
|||
}
|
||||
*mb = (*mb)[endIndex:]
|
||||
if endIndex == 0 && len(*mb) > 0 {
|
||||
b := NewSize(uint32(size))
|
||||
b := NewSize(size)
|
||||
common.Must(b.Reset(ReadFullFrom((*mb)[0], size)))
|
||||
return NewMultiBufferValue(b)
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ func (r *BytesToBufferReader) ReadMultiBuffer() (MultiBuffer, error) {
|
|||
mb.Write(r.buffer[:nBytes])
|
||||
if nBytes == len(r.buffer) && nBytes < int(largeSize) {
|
||||
freeBytes(r.buffer)
|
||||
r.buffer = newBytes(uint32(nBytes) + 1)
|
||||
r.buffer = newBytes(int32(nBytes) + 1)
|
||||
} else if nBytes < Size {
|
||||
r.freeBuffer()
|
||||
}
|
||||
|
|
|
@ -143,7 +143,7 @@ func (r *AuthenticationReader) readInternal(soft bool) (*buf.Buffer, error) {
|
|||
return nil, errSoft
|
||||
}
|
||||
|
||||
b := buf.NewSize(uint32(size))
|
||||
b := buf.NewSize(size)
|
||||
if err := b.Reset(buf.ReadFullFrom(r.reader, size)); err != nil {
|
||||
b.Release()
|
||||
return nil, err
|
||||
|
|
|
@ -76,7 +76,7 @@ func (v *ChunkReader) ReadMultiBuffer() (buf.MultiBuffer, error) {
|
|||
}
|
||||
size += AuthSize
|
||||
|
||||
buffer := buf.NewSize(uint32(size))
|
||||
buffer := buf.NewSize(int32(size))
|
||||
if err := buffer.AppendSupplier(buf.ReadFullFrom(v.reader, int32(size))); err != nil {
|
||||
buffer.Release()
|
||||
return nil, err
|
||||
|
|
Loading…
Reference in New Issue