| 19 | } |
| 20 | |
| 21 | void BackupReaderDefault::copyFileToDisk(const String & path_in_backup, size_t file_size, bool encrypted_in_backup, |
| 22 | DiskPtr destination_disk, const String & destination_path, WriteMode write_mode) |
| 23 | { |
| 24 | LOG_TRACE(log, "Copying file {} to disk {} through buffers", path_in_backup, destination_disk->getName()); |
| 25 | |
| 26 | auto read_buffer = readFile(path_in_backup); |
| 27 | |
| 28 | std::unique_ptr<WriteBuffer> write_buffer; |
| 29 | auto buf_size = std::min(file_size, write_buffer_size); |
| 30 | if (encrypted_in_backup) |
| 31 | write_buffer = destination_disk->writeEncryptedFile(destination_path, buf_size, write_mode, write_settings); |
| 32 | else |
| 33 | write_buffer = destination_disk->writeFile(destination_path, buf_size, write_mode, write_settings); |
| 34 | |
| 35 | copyData(*read_buffer, *write_buffer, file_size); |
| 36 | write_buffer->finalize(); |
| 37 | } |
| 38 | |
| 39 | BackupWriterDefault::BackupWriterDefault(const ReadSettings & read_settings_, const WriteSettings & write_settings_, LoggerPtr log_) |
| 40 | : log(log_) |