func handle()

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 {}
    }