in Sources/XCMetricsClient/Mobius/Effect Handlers/PersistNonUploadedLogsEffectHandler.swift [33:49]
func handle(_ nonUploadedLogs: [URL: Data], _ callback: EffectCallback<MetricsUploaderEvent>) -> Disposable {
log("Started writing metadata to disk.")
for (url, data) in nonUploadedLogs {
do {
// Save failed request on disk.
let savedURL = try logManager.saveFailedRequest(url: url, data: data)
// Mark failed log as if it was uploaded in order not to retry uploading it, since it will be treated
// as a failed request from now on.
_ = try logManager.tagLogAsUploaded(logURL: url)
log("Saved failed request on disk to \(savedURL).")
} catch {
log("Failed to save metadata on disk for \(url) with error: \(error).")
}
}
callback.end(with: .savedUploadRequests)
return AnonymousDisposable {}
}