From 5183b2f47ad240174bf653b299af9e068a3b83e4 Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Thu, 24 Dec 2020 10:55:55 -0500 Subject: optimizations for download manager: - use envfs for walking directory - minimize string copies, disk access - use set of filenames to check for duplicates - use file size from envfs --- src/envfs.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/envfs.h') diff --git a/src/envfs.h b/src/envfs.h index e4d98d71..62540e18 100644 --- a/src/envfs.h +++ b/src/envfs.h @@ -12,8 +12,9 @@ struct File std::wstring name; std::wstring lcname; FILETIME lastModified; + uint64_t size; - File(std::wstring_view name, FILETIME ft); + File(std::wstring_view name, FILETIME ft, uint64_t size); }; struct Directory @@ -174,7 +175,7 @@ private: using DirStartF = void (void*, std::wstring_view); using DirEndF = void (void*, std::wstring_view); -using FileF = void (void*, std::wstring_view, FILETIME); +using FileF = void (void*, std::wstring_view, FILETIME, uint64_t); void setHandleCloserThreadCount(std::size_t n); -- cgit v1.3.1