Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 5 additions & 13 deletions src/os/persistence/PersistenceLayer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,14 @@ export class PersistenceLayer {
*/
save(data: any, key: string): Buffer {
const payload = JSON.stringify(data);
const payloadBuf = Buffer.from(payload, 'utf8');

// Bolt Optimization: Allocate unsafe buffer for exact combined size to avoid Buffer.concat and intermediate payload allocations
const outBuf = Buffer.allocUnsafe(38 + payloadBuf.length);

// Copy pre-allocated header and payload
outBuf.set(HEADER_BUF, 0);
outBuf.set(payloadBuf, 38);
const payloadByteLength = Buffer.byteLength(payload, 'utf8');

// Compute and write HMAC signature directly
const hmac = crypto.createHmac('sha256',. key);
hmac.update(payloadBuf);
// Bolt Optimization: Compute HMAC directly on payload string to avoid extra Buffer allocations
const hmac = crypto.createHmac('sha256', key);
hmac.update(payload, 'utf8');
const signature = hmac.digest();
outBuf.set(signature, 6);

const payloadByteLength = Buffer.byteLength(payload, 'utf8');
// Bolt Optimization: Allocate unsafe buffer for exact combined size to avoid Buffer.concat and intermediate payload allocations
const out = Buffer.allocUnsafe(HEADER_LENGTH + SIGNATURE_LENGTH + payloadByteLength);

// Zero-copy set of pre-allocated header
Expand Down