KotlinFileSystem emulates slow filesystem with high throughput.
It contains methods
getChildren(path)- returns names of files inside dirget(path)- returns file or directory by pathcreateDirectory(path)- creates directory, if parent directory existscreateFile(path, content)- creates file, if parent directory existsdelete(path)- removes file, if it is file or empty directory
SlowFileSystem is blocking wrapper for KotlinFileSystem.
AsyncFileSystem is asynchronous wrapper for KotlinFileSystem.
You should
- implement
CopyStrategy, which copies all filesystem from source to target. - implement
DeleteStrategy, which recursively deletes all files from filesystem. - strategy should work as fast as possible and use as few as possible threads.