Use WaitFreeVector in FileManager.
This commit is contained in:
parent
2d705004a3
commit
90b04eb3b6
@ -1248,7 +1248,7 @@ Result<FileId> FileManager::register_file(FileData &&data, FileLocationSource fi
|
||||
|
||||
FileView file_view(get_file_node(file_id));
|
||||
|
||||
std::vector<FileId> to_merge;
|
||||
vector<FileId> to_merge;
|
||||
auto register_location = [&](const auto &location, auto &mp) {
|
||||
auto &other_id = mp[location];
|
||||
if (other_id.empty()) {
|
||||
@ -2512,7 +2512,7 @@ class FileManager::ForceUploadActor final : public Actor {
|
||||
|
||||
is_active_ = true;
|
||||
attempt_++;
|
||||
send_closure(G()->file_manager(), &FileManager::resume_upload, file_id_, std::vector<int>(), create_callback(),
|
||||
send_closure(G()->file_manager(), &FileManager::resume_upload, file_id_, vector<int>(), create_callback(),
|
||||
new_priority_, upload_order_, attempt_ == 2, prefer_small_);
|
||||
}
|
||||
|
||||
@ -2531,7 +2531,7 @@ void FileManager::on_force_reupload_success(FileId file_id) {
|
||||
}
|
||||
}
|
||||
|
||||
void FileManager::resume_upload(FileId file_id, std::vector<int> bad_parts, std::shared_ptr<UploadCallback> callback,
|
||||
void FileManager::resume_upload(FileId file_id, vector<int> bad_parts, std::shared_ptr<UploadCallback> callback,
|
||||
int32 new_priority, uint64 upload_order, bool force, bool prefer_small) {
|
||||
auto node = get_sync_file_node(file_id);
|
||||
if (!node) {
|
||||
@ -2642,7 +2642,7 @@ bool FileManager::delete_partial_remote_location(FileId file_id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
run_upload(node, std::vector<int>());
|
||||
run_upload(node, vector<int>());
|
||||
try_flush_node(node, "delete_partial_remote_location");
|
||||
return true;
|
||||
}
|
||||
@ -2767,7 +2767,7 @@ void FileManager::run_generate(FileNodePtr node) {
|
||||
LOG(INFO) << "File " << file_id << " generate request has sent to FileGenerateManager";
|
||||
}
|
||||
|
||||
void FileManager::run_upload(FileNodePtr node, std::vector<int> bad_parts) {
|
||||
void FileManager::run_upload(FileNodePtr node, vector<int> bad_parts) {
|
||||
int8 priority = 0;
|
||||
FileId file_id = node->main_file_id_;
|
||||
for (auto id : node->file_ids_) {
|
||||
@ -2884,11 +2884,11 @@ void FileManager::run_upload(FileNodePtr node, std::vector<int> bad_parts) {
|
||||
|
||||
void FileManager::upload(FileId file_id, std::shared_ptr<UploadCallback> callback, int32 new_priority,
|
||||
uint64 upload_order) {
|
||||
return resume_upload(file_id, std::vector<int>(), std::move(callback), new_priority, upload_order);
|
||||
return resume_upload(file_id, vector<int>(), std::move(callback), new_priority, upload_order);
|
||||
}
|
||||
|
||||
void FileManager::cancel_upload(FileId file_id) {
|
||||
return resume_upload(file_id, std::vector<int>(), nullptr, 0, 0);
|
||||
return resume_upload(file_id, vector<int>(), nullptr, 0, 0);
|
||||
}
|
||||
|
||||
static bool is_background_type(FileType type) {
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include "td/utils/Slice.h"
|
||||
#include "td/utils/Status.h"
|
||||
#include "td/utils/StringBuilder.h"
|
||||
#include "td/utils/WaitFreeVector.h"
|
||||
|
||||
#include <map>
|
||||
#include <memory>
|
||||
@ -150,7 +151,7 @@ class FileNode {
|
||||
DialogId owner_dialog_id_;
|
||||
FileEncryptionKey encryption_key_;
|
||||
FileDbId pmc_id_;
|
||||
std::vector<FileId> file_ids_;
|
||||
vector<FileId> file_ids_;
|
||||
|
||||
FileId main_file_id_;
|
||||
|
||||
@ -588,9 +589,9 @@ class FileManager final : public FileLoadManager::Callback {
|
||||
std::map<FullGenerateFileLocation, FileId> generate_location_to_file_id_;
|
||||
std::map<FileDbId, int32> pmc_id_to_file_node_id_;
|
||||
|
||||
vector<FileIdInfo> file_id_info_;
|
||||
vector<int32> empty_file_ids_;
|
||||
vector<unique_ptr<FileNode>> file_nodes_;
|
||||
WaitFreeVector<FileIdInfo> file_id_info_;
|
||||
WaitFreeVector<int32> empty_file_ids_;
|
||||
WaitFreeVector<unique_ptr<FileNode>> file_nodes_;
|
||||
ActorOwn<FileLoadManager> file_load_manager_;
|
||||
ActorOwn<FileGenerateManager> file_generate_manager_;
|
||||
|
||||
@ -649,7 +650,7 @@ class FileManager final : public FileLoadManager::Callback {
|
||||
void do_cancel_download(FileNodePtr node);
|
||||
void do_cancel_upload(FileNodePtr node);
|
||||
void do_cancel_generate(FileNodePtr node);
|
||||
void run_upload(FileNodePtr node, std::vector<int> bad_parts);
|
||||
void run_upload(FileNodePtr node, vector<int> bad_parts);
|
||||
void run_download(FileNodePtr node, bool force_update_priority);
|
||||
void run_generate(FileNodePtr node);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user