This commit is contained in:
andrew (from workstation) 2020-05-15 17:10:46 +02:00
parent 82c8e4061b
commit 9a29fa6a3b
3 changed files with 12 additions and 2 deletions

View File

@ -5026,6 +5026,7 @@ void Td::on_request(uint64 id, td_api::optimizeStorage &request) {
web_pages_manager_->memory_cleanup();
stickers_manager_->memory_cleanup();
documents_manager_->memory_cleanup();
file_manager_->memory_cleanup();
std::vector<FileType> file_types;
for (auto &file_type : request.file_types_) {

View File

@ -3187,6 +3187,7 @@ FileId FileManager::next_file_id() {
empty_file_ids_.pop_back();
return FileId{res, 0};
}
FileId res(static_cast<int32>(file_id_info_.size()), 0);
// LOG(ERROR) << "NEXT file_id " << res;
file_id_info_.push_back({});
@ -3694,8 +3695,15 @@ void FileManager::hangup() {
stop();
}
void FileManager::memory_cleanup() {
empty_file_ids_.clear();
for (unsigned int i = 1; i < file_id_info_.size() - 1000; ++i) {
empty_file_ids_.push_back(i);
}
}
void FileManager::tear_down() {
parent_.reset();
}
} // namespace td

View File

@ -145,7 +145,6 @@ class FileNode {
FileEncryptionKey encryption_key_;
FileDbId pmc_id_;
std::vector<FileId> file_ids_;
FileId main_file_id_;
double last_successful_force_reupload_time_ = -1e10;
@ -327,6 +326,8 @@ class FileView {
class FileManager : public FileLoadManager::Callback {
public:
void memory_cleanup();
class DownloadCallback {
public:
DownloadCallback() = default;