Skip to content

Commit 6d88bba

Browse files
committed
Avoid rereading file header on every index sync
1 parent 02c2759 commit 6d88bba

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

src/Index/ReadableIndex.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ class ReadableIndex extends events.EventEmitter {
7777
if (options.metadata) {
7878
this.metadata = Object.assign({entryClass: options.EntryClass.name, entrySize: options.EntryClass.size}, options.metadata);
7979
}
80+
this.headerSize = 0;
8081
}
8182

8283
/**
@@ -208,6 +209,7 @@ class ReadableIndex extends events.EventEmitter {
208209
* @throws {Error} if the metadata size in the header is invalid.
209210
*/
210211
readMetadata() {
212+
if (this.headerSize > 0) return this.headerSize;
211213
const headerBuffer = Buffer.allocUnsafe(8 + 4);
212214
fs.readSync(this.fd, headerBuffer, 0, 8 + 4, 0);
213215
const headerMagic = headerBuffer.toString('utf8', 0, 8);

0 commit comments

Comments
 (0)