1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-01-03 15:55:20 -05:00
This commit is contained in:
Darien Raymond
2017-05-02 22:50:27 +02:00
parent 74830b2583
commit 53f99ddde6
2 changed files with 6 additions and 5 deletions

View File

@@ -37,7 +37,7 @@ type ChunkStreamReader struct {
buffer []byte
leftOver buf.MultiBuffer
leftOverSize uint16
leftOverSize int
}
func NewChunkStreamReader(sizeDecoder ChunkSizeDecoder, reader io.Reader) *ChunkStreamReader {
@@ -50,6 +50,7 @@ func NewChunkStreamReader(sizeDecoder ChunkSizeDecoder, reader io.Reader) *Chunk
func (r *ChunkStreamReader) readAtLeast(size int) error {
mb := r.leftOver
r.leftOver = nil
for mb.Len() < size {
extra, err := r.reader.Read()
if err != nil {
@@ -74,7 +75,7 @@ func (r *ChunkStreamReader) readSize() (uint16, error) {
}
func (r *ChunkStreamReader) Read() (buf.MultiBuffer, error) {
size := int(r.leftOverSize)
size := r.leftOverSize
if size == 0 {
nextSize, err := r.readSize()
if err != nil {
@@ -94,7 +95,7 @@ func (r *ChunkStreamReader) Read() (buf.MultiBuffer, error) {
if size >= r.leftOver.Len() {
mb := r.leftOver
r.leftOverSize = uint16(size - r.leftOver.Len())
r.leftOverSize = size - r.leftOver.Len()
r.leftOver = nil
return mb, nil
}