fs_user: Add a delay for each file open

This commit is contained in:
fearlessTobi
2018-11-02 18:11:22 +01:00
parent d0de727a97
commit fc7e6c9cc9
14 changed files with 153 additions and 11 deletions

View File

@ -12,6 +12,7 @@
#include "common/common_types.h"
#include "common/swap.h"
#include "core/hle/result.h"
#include "delay_generator.h"
namespace FileSys {
@ -153,6 +154,27 @@ public:
* @return The number of free bytes in the archive
*/
virtual u64 GetFreeBytes() const = 0;
u64 GetReadDelayNs(std::size_t length) {
if (delay_generator != nullptr) {
return delay_generator->GetReadDelayNs(length);
}
LOG_ERROR(Service_FS, "Delay generator was not initalized. Using default");
delay_generator = std::make_unique<DefaultDelayGenerator>();
return delay_generator->GetReadDelayNs(length);
}
u64 GetOpenDelayNs() {
if (delay_generator != nullptr) {
return delay_generator->GetOpenDelayNs();
}
LOG_ERROR(Service_FS, "Delay generator was not initalized. Using default");
delay_generator = std::make_unique<DefaultDelayGenerator>();
return delay_generator->GetOpenDelayNs();
}
protected:
std::unique_ptr<DelayGenerator> delay_generator;
};
class ArchiveFactory : NonCopyable {