From 0c31cc217f7d6240c0091720c4feb988bf7ec714 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 24 Dec 2024 21:27:43 -0600 Subject: [PATCH] refactor --- .../include/file_manager/file_manager.hpp | 2 +- .../librepertory/src/file_manager/file_manager.cpp | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/repertory/librepertory/include/file_manager/file_manager.hpp b/repertory/librepertory/include/file_manager/file_manager.hpp index aff84c36..f1ca770d 100644 --- a/repertory/librepertory/include/file_manager/file_manager.hpp +++ b/repertory/librepertory/include/file_manager/file_manager.hpp @@ -68,7 +68,7 @@ private: std::unique_ptr upload_thread_; private: - void close_all(const std::string &api_path); + [[nodiscard]] auto close_all(const std::string &api_path) -> bool; void close_timed_out_files(); diff --git a/repertory/librepertory/src/file_manager/file_manager.cpp b/repertory/librepertory/src/file_manager/file_manager.cpp index 85e4aefe..c68a3519 100644 --- a/repertory/librepertory/src/file_manager/file_manager.cpp +++ b/repertory/librepertory/src/file_manager/file_manager.cpp @@ -75,13 +75,13 @@ void file_manager::close(std::uint64_t handle) { closeable_file->remove(handle); } -void file_manager::close_all(const std::string &api_path) { +auto file_manager::close_all(const std::string &api_path) -> bool { REPERTORY_USES_FUNCTION_NAME(); unique_recur_mutex_lock file_lock(open_file_mtx_); auto file_iter = open_file_lookup_.find(api_path); if (file_iter == open_file_lookup_.end()) { - return; + return false; } auto closeable_file = file_iter->second; @@ -90,6 +90,8 @@ void file_manager::close_all(const std::string &api_path) { closeable_file->remove_all(); closeable_file->close(); + + return closeable_file->get_allocated(); } void file_manager::close_timed_out_files() { @@ -548,7 +550,7 @@ auto file_manager::remove_file(const std::string &api_path) -> api_error { return res; } - close_all(api_path); + auto allocated = close_all(api_path); unique_mutex_lock upload_lock(upload_mtx_); remove_upload(api_path, true); @@ -563,7 +565,8 @@ auto file_manager::remove_file(const std::string &api_path) -> api_error { return res; } - remove_source_and_shrink_cache(api_path, fsi.source_path, fsi.size, true); + remove_source_and_shrink_cache(api_path, fsi.source_path, fsi.size, + allocated); return api_error::success; }