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();
|
web_pages_manager_->memory_cleanup();
|
||||||
stickers_manager_->memory_cleanup();
|
stickers_manager_->memory_cleanup();
|
||||||
documents_manager_->memory_cleanup();
|
documents_manager_->memory_cleanup();
|
||||||
|
file_manager_->memory_cleanup();
|
||||||
|
|
||||||
std::vector<FileType> file_types;
|
std::vector<FileType> file_types;
|
||||||
for (auto &file_type : request.file_types_) {
|
for (auto &file_type : request.file_types_) {
|
||||||
|
@ -3187,6 +3187,7 @@ FileId FileManager::next_file_id() {
|
|||||||
empty_file_ids_.pop_back();
|
empty_file_ids_.pop_back();
|
||||||
return FileId{res, 0};
|
return FileId{res, 0};
|
||||||
}
|
}
|
||||||
|
|
||||||
FileId res(static_cast<int32>(file_id_info_.size()), 0);
|
FileId res(static_cast<int32>(file_id_info_.size()), 0);
|
||||||
// LOG(ERROR) << "NEXT file_id " << res;
|
// LOG(ERROR) << "NEXT file_id " << res;
|
||||||
file_id_info_.push_back({});
|
file_id_info_.push_back({});
|
||||||
@ -3694,8 +3695,15 @@ void FileManager::hangup() {
|
|||||||
stop();
|
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() {
|
void FileManager::tear_down() {
|
||||||
parent_.reset();
|
parent_.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace td
|
} // namespace td
|
||||||
|
@ -145,7 +145,6 @@ class FileNode {
|
|||||||
FileEncryptionKey encryption_key_;
|
FileEncryptionKey encryption_key_;
|
||||||
FileDbId pmc_id_;
|
FileDbId pmc_id_;
|
||||||
std::vector<FileId> file_ids_;
|
std::vector<FileId> file_ids_;
|
||||||
|
|
||||||
FileId main_file_id_;
|
FileId main_file_id_;
|
||||||
|
|
||||||
double last_successful_force_reupload_time_ = -1e10;
|
double last_successful_force_reupload_time_ = -1e10;
|
||||||
@ -327,6 +326,8 @@ class FileView {
|
|||||||
|
|
||||||
class FileManager : public FileLoadManager::Callback {
|
class FileManager : public FileLoadManager::Callback {
|
||||||
public:
|
public:
|
||||||
|
void memory_cleanup();
|
||||||
|
|
||||||
class DownloadCallback {
|
class DownloadCallback {
|
||||||
public:
|
public:
|
||||||
DownloadCallback() = default;
|
DownloadCallback() = default;
|
||||||
|
Reference in New Issue
Block a user