magic
This commit is contained in:
parent
82c8e4061b
commit
9a29fa6a3b
@ -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_) {
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user