mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-20 21:30:27 +08:00
优化内容为空的缓存
This commit is contained in:
@@ -215,6 +215,10 @@ func (this *FileReader) ReadHeader(buf []byte, callback ReaderFunc) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *FileReader) ReadBody(buf []byte, callback ReaderFunc) error {
|
func (this *FileReader) ReadBody(buf []byte, callback ReaderFunc) error {
|
||||||
|
if this.bodySize == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
var isOk = false
|
var isOk = false
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
@@ -257,6 +261,12 @@ func (this *FileReader) ReadBody(buf []byte, callback ReaderFunc) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *FileReader) Read(buf []byte) (n int, err error) {
|
func (this *FileReader) Read(buf []byte) (n int, err error) {
|
||||||
|
if this.bodySize == 0 {
|
||||||
|
n = 0
|
||||||
|
err = io.EOF
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
n, err = this.fp.Read(buf)
|
n, err = this.fp.Read(buf)
|
||||||
if err != nil && err != io.EOF {
|
if err != nil && err != io.EOF {
|
||||||
_ = this.discard()
|
_ = this.discard()
|
||||||
|
|||||||
@@ -1213,9 +1213,12 @@ func (this *FileStorage) hotLoop() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = reader.ReadBody(buf, func(n int) (goNext bool, err error) {
|
err = reader.ReadBody(buf, func(n int) (goNext bool, err error) {
|
||||||
_, err = writer.Write(buf[:n])
|
goNext = true
|
||||||
if err == nil {
|
if n > 0 {
|
||||||
goNext = true
|
_, err = writer.Write(buf[:n])
|
||||||
|
if err != nil {
|
||||||
|
goNext = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user