mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Centralized file access management
This commit is contained in:
@@ -140,6 +140,7 @@ public final class MediaBox {
|
||||
private let statusQueue = Queue()
|
||||
private let concurrentQueue = Queue.concurrentDefaultQueue()
|
||||
private let dataQueue = Queue()
|
||||
private let dataFileManager: MediaBoxFileManager
|
||||
private let cacheQueue = Queue()
|
||||
private let timeBasedCleanup: TimeBasedCleanup
|
||||
|
||||
@@ -194,6 +195,8 @@ public final class MediaBox {
|
||||
self.basePath + "/short-cache"
|
||||
])
|
||||
|
||||
self.dataFileManager = MediaBoxFileManager(queue: self.dataQueue)
|
||||
|
||||
let _ = self.ensureDirectoryCreated
|
||||
}
|
||||
|
||||
@@ -540,7 +543,7 @@ public final class MediaBox {
|
||||
paths.partial,
|
||||
paths.partial + ".meta"
|
||||
])
|
||||
if let fileContext = MediaBoxFileContext(queue: self.dataQueue, path: paths.complete, partialPath: paths.partial, metaPath: paths.partial + ".meta") {
|
||||
if let fileContext = MediaBoxFileContext(queue: self.dataQueue, manager: self.dataFileManager, path: paths.complete, partialPath: paths.partial, metaPath: paths.partial + ".meta") {
|
||||
context = fileContext
|
||||
self.fileContexts[resourceId] = fileContext
|
||||
} else {
|
||||
@@ -633,7 +636,7 @@ public final class MediaBox {
|
||||
subscriber.putCompletion()
|
||||
return EmptyDisposable
|
||||
} else {
|
||||
if let data = MediaBoxPartialFile.extractPartialData(path: paths.partial, metaPath: paths.partial + ".meta", range: range) {
|
||||
if let data = MediaBoxPartialFile.extractPartialData(manager: MediaBoxFileManager(queue: nil), path: paths.partial, metaPath: paths.partial + ".meta", range: range) {
|
||||
subscriber.putNext((data, true))
|
||||
subscriber.putCompletion()
|
||||
return EmptyDisposable
|
||||
|
||||
Reference in New Issue
Block a user