+ private writeToDisk () {
+ return this.writeQueue.add(async () => {
+ // Atomic write: use rename instead of move that is not atomic
+ await writeJson(this.sha256PathTMP, mapToJSON(this.segmentsSha256))
+ await rename(this.sha256PathTMP, this.sha256Path)
+
+ if (this.sendToObjectStorage) {
+ const url = await storeHLSFileFromPath(this.streamingPlaylist, this.sha256Path)
+
+ if (this.streamingPlaylist.segmentsSha256Url !== url) {
+ this.streamingPlaylist.segmentsSha256Url = url
+ await this.streamingPlaylist.save()
+ }
+ }
+ })