fs_user: Add a delay for each file open
This commit is contained in:
@ -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 {
|
||||
|
Reference in New Issue
Block a user