bfs:实现maxOpenFiles

This commit is contained in:
刘祥超
2024-04-27 17:29:12 +08:00
parent 04007bf8f1
commit 801f5d4525
9 changed files with 318 additions and 54 deletions

View File

@@ -15,7 +15,6 @@ type FileReader struct {
fileHeader *FileHeader
pos int64
bPos int64
}
func NewFileReader(bFile *BlocksFile, fp *os.File, fileHeader *FileHeader) *FileReader {
@@ -23,7 +22,6 @@ func NewFileReader(bFile *BlocksFile, fp *os.File, fileHeader *FileHeader) *File
bFile: bFile,
fp: fp,
fileHeader: fileHeader,
bPos: -1,
}
}
@@ -64,20 +62,8 @@ func (this *FileReader) ReadAt(b []byte, offset int64) (n int, err error) {
}
AckReadThread()
defer ReleaseReadThread()
if bFrom == this.bPos { // read continuous
n, err = this.fp.Read(b[:bufLen])
} else { // read from offset
_, err = this.fp.Seek(bFrom, io.SeekStart)
if err != nil {
return
}
n, err = this.fp.Read(b[:bufLen])
}
if n > 0 {
this.bPos = bFrom + int64(n)
}
n, err = this.fp.ReadAt(b[:bufLen], bFrom)
ReleaseReadThread()
return
}
@@ -85,7 +71,6 @@ func (this *FileReader) ReadAt(b []byte, offset int64) (n int, err error) {
func (this *FileReader) Reset(fileHeader *FileHeader) {
this.fileHeader = fileHeader
this.pos = 0
this.bPos = -1
}
func (this *FileReader) Close() error {