Fix storage fast statistics after file checking.
GitOrigin-RevId: c912dc17c00ba61e1ad5b11bf6d411783fba58df
This commit is contained in:
parent
5ea6fda925
commit
15dda847f4
@ -134,7 +134,7 @@ Status FileDownloader::on_ok(int64 size) {
|
|||||||
TRY_RESULT(perm_path, create_from_temp(path_, dir, name_));
|
TRY_RESULT(perm_path, create_from_temp(path_, dir, name_));
|
||||||
path = std::move(perm_path);
|
path = std::move(perm_path);
|
||||||
}
|
}
|
||||||
callback_->on_ok(FullLocalFileLocation(remote_.file_type_, std::move(path), 0), size);
|
callback_->on_ok(FullLocalFileLocation(remote_.file_type_, std::move(path), 0), size, !only_check_);
|
||||||
return Status::OK();
|
return Status::OK();
|
||||||
}
|
}
|
||||||
void FileDownloader::on_error(Status status) {
|
void FileDownloader::on_error(Status status) {
|
||||||
|
@ -29,7 +29,7 @@ class FileDownloader : public FileLoader {
|
|||||||
public:
|
public:
|
||||||
virtual void on_start_download() = 0;
|
virtual void on_start_download() = 0;
|
||||||
virtual void on_partial_download(const PartialLocalFileLocation &partial_local, int64 ready_size, int64 size) = 0;
|
virtual void on_partial_download(const PartialLocalFileLocation &partial_local, int64 ready_size, int64 size) = 0;
|
||||||
virtual void on_ok(const FullLocalFileLocation &full_local, int64 size) = 0;
|
virtual void on_ok(const FullLocalFileLocation &full_local, int64 size, bool is_new) = 0;
|
||||||
virtual void on_error(Status status) = 0;
|
virtual void on_error(Status status) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -220,14 +220,14 @@ void FileLoadManager::on_partial_upload(const PartialRemoteFileLocation &partial
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileLoadManager::on_ok_download(const FullLocalFileLocation &local, int64 size) {
|
void FileLoadManager::on_ok_download(const FullLocalFileLocation &local, int64 size, bool is_new) {
|
||||||
auto node_id = get_link_token();
|
auto node_id = get_link_token();
|
||||||
auto node = nodes_container_.get(node_id);
|
auto node = nodes_container_.get(node_id);
|
||||||
if (node == nullptr) {
|
if (node == nullptr) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!stop_flag_) {
|
if (!stop_flag_) {
|
||||||
send_closure(callback_, &Callback::on_download_ok, node->query_id_, local, size);
|
send_closure(callback_, &Callback::on_download_ok, node->query_id_, local, size, is_new);
|
||||||
}
|
}
|
||||||
close_node(node_id);
|
close_node(node_id);
|
||||||
loop();
|
loop();
|
||||||
|
@ -42,7 +42,7 @@ class FileLoadManager final : public Actor {
|
|||||||
virtual void on_hash(QueryId id, string hash) = 0;
|
virtual void on_hash(QueryId id, string hash) = 0;
|
||||||
virtual void on_upload_ok(QueryId id, FileType file_type, const PartialRemoteFileLocation &remtoe, int64 size) = 0;
|
virtual void on_upload_ok(QueryId id, FileType file_type, const PartialRemoteFileLocation &remtoe, int64 size) = 0;
|
||||||
virtual void on_upload_full_ok(QueryId id, const FullRemoteFileLocation &remote) = 0;
|
virtual void on_upload_full_ok(QueryId id, const FullRemoteFileLocation &remote) = 0;
|
||||||
virtual void on_download_ok(QueryId id, const FullLocalFileLocation &local, int64 size) = 0;
|
virtual void on_download_ok(QueryId id, const FullLocalFileLocation &local, int64 size, bool is_new) = 0;
|
||||||
virtual void on_error(QueryId id, Status status) = 0;
|
virtual void on_error(QueryId id, Status status) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ class FileLoadManager final : public Actor {
|
|||||||
void on_partial_download(const PartialLocalFileLocation &partial_local, int64 ready_size, int64 size);
|
void on_partial_download(const PartialLocalFileLocation &partial_local, int64 ready_size, int64 size);
|
||||||
void on_partial_upload(const PartialRemoteFileLocation &partial_remote, int64 ready_size);
|
void on_partial_upload(const PartialRemoteFileLocation &partial_remote, int64 ready_size);
|
||||||
void on_hash(string hash);
|
void on_hash(string hash);
|
||||||
void on_ok_download(const FullLocalFileLocation &local, int64 size);
|
void on_ok_download(const FullLocalFileLocation &local, int64 size, bool is_new);
|
||||||
void on_ok_upload(FileType file_type, const PartialRemoteFileLocation &remote, int64 size);
|
void on_ok_upload(FileType file_type, const PartialRemoteFileLocation &remote, int64 size);
|
||||||
void on_ok_upload_full(const FullRemoteFileLocation &remote);
|
void on_ok_upload_full(const FullRemoteFileLocation &remote);
|
||||||
void on_error(Status status);
|
void on_error(Status status);
|
||||||
@ -109,8 +109,8 @@ class FileLoadManager final : public Actor {
|
|||||||
void on_partial_download(const PartialLocalFileLocation &partial_local, int64 ready_size, int64 size) override {
|
void on_partial_download(const PartialLocalFileLocation &partial_local, int64 ready_size, int64 size) override {
|
||||||
send_closure(actor_id_, &FileLoadManager::on_partial_download, partial_local, ready_size, size);
|
send_closure(actor_id_, &FileLoadManager::on_partial_download, partial_local, ready_size, size);
|
||||||
}
|
}
|
||||||
void on_ok(const FullLocalFileLocation &full_local, int64 size) override {
|
void on_ok(const FullLocalFileLocation &full_local, int64 size, bool is_new) override {
|
||||||
send_closure(std::move(actor_id_), &FileLoadManager::on_ok_download, full_local, size);
|
send_closure(std::move(actor_id_), &FileLoadManager::on_ok_download, full_local, size, is_new);
|
||||||
}
|
}
|
||||||
void on_error(Status status) override {
|
void on_error(Status status) override {
|
||||||
send_closure(std::move(actor_id_), &FileLoadManager::on_error, std::move(status));
|
send_closure(std::move(actor_id_), &FileLoadManager::on_error, std::move(status));
|
||||||
@ -163,7 +163,7 @@ class FileLoadManager final : public Actor {
|
|||||||
ActorShared<FileLoadManager> actor_id_;
|
ActorShared<FileLoadManager> actor_id_;
|
||||||
|
|
||||||
void on_ok(const FullLocalFileLocation &full_local, int64 size) override {
|
void on_ok(const FullLocalFileLocation &full_local, int64 size) override {
|
||||||
send_closure(std::move(actor_id_), &FileLoadManager::on_ok_download, full_local, size);
|
send_closure(std::move(actor_id_), &FileLoadManager::on_ok_download, full_local, size, true);
|
||||||
}
|
}
|
||||||
void on_error(Status status) override {
|
void on_error(Status status) override {
|
||||||
send_closure(std::move(actor_id_), &FileLoadManager::on_error, std::move(status));
|
send_closure(std::move(actor_id_), &FileLoadManager::on_error, std::move(status));
|
||||||
|
@ -2381,19 +2381,21 @@ void FileManager::on_partial_upload(QueryId query_id, const PartialRemoteFileLoc
|
|||||||
try_flush_node(file_node, "on_partial_upload");
|
try_flush_node(file_node, "on_partial_upload");
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileManager::on_download_ok(QueryId query_id, const FullLocalFileLocation &local, int64 size) {
|
void FileManager::on_download_ok(QueryId query_id, const FullLocalFileLocation &local, int64 size, bool is_new) {
|
||||||
if (is_closed_) {
|
if (is_closed_) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto query = finish_query(query_id).first;
|
auto query = finish_query(query_id).first;
|
||||||
auto file_id = query.file_id_;
|
auto file_id = query.file_id_;
|
||||||
LOG(INFO) << "ON DOWNLOAD OK file " << file_id << " of size " << size;
|
LOG(INFO) << "ON DOWNLOAD OK of " << (is_new ? "new" : "checked") << " file " << file_id << " of size " << size;
|
||||||
auto r_new_file_id = register_local(local, DialogId(), size);
|
auto r_new_file_id = register_local(local, DialogId(), size);
|
||||||
if (r_new_file_id.is_error()) {
|
if (r_new_file_id.is_error()) {
|
||||||
LOG(ERROR) << "Can't register local file after download: " << r_new_file_id.error();
|
LOG(ERROR) << "Can't register local file after download: " << r_new_file_id.error();
|
||||||
} else {
|
} else {
|
||||||
context_->on_new_file(size, 1);
|
if (is_new) {
|
||||||
|
context_->on_new_file(size, 1);
|
||||||
|
}
|
||||||
LOG_STATUS(merge(r_new_file_id.ok(), file_id));
|
LOG_STATUS(merge(r_new_file_id.ok(), file_id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -502,7 +502,7 @@ class FileManager : public FileLoadManager::Callback {
|
|||||||
int64 size) override;
|
int64 size) override;
|
||||||
void on_hash(QueryId query_id, string hash) override;
|
void on_hash(QueryId query_id, string hash) override;
|
||||||
void on_partial_upload(QueryId query_id, const PartialRemoteFileLocation &partial_remote, int64 ready_size) override;
|
void on_partial_upload(QueryId query_id, const PartialRemoteFileLocation &partial_remote, int64 ready_size) override;
|
||||||
void on_download_ok(QueryId query_id, const FullLocalFileLocation &local, int64 size) override;
|
void on_download_ok(QueryId query_id, const FullLocalFileLocation &local, int64 size, bool is_new) override;
|
||||||
void on_upload_ok(QueryId query_id, FileType file_type, const PartialRemoteFileLocation &partial_remote,
|
void on_upload_ok(QueryId query_id, FileType file_type, const PartialRemoteFileLocation &partial_remote,
|
||||||
int64 size) override;
|
int64 size) override;
|
||||||
void on_upload_full_ok(QueryId query_id, const FullRemoteFileLocation &remote) override;
|
void on_upload_full_ok(QueryId query_id, const FullRemoteFileLocation &remote) override;
|
||||||
|
Reference in New Issue
Block a user