FSImpl
abstract class FSImpl
Abstract class for a filesystem implementation, with the actual disk functions.
This is the interface that on-disk objects (files) will call into. Filesystem implementations define how DB objects map to disk files, and then call the underlying storage. The FSImpl class's info is managed by the FSManager and is not a DB object.
Properties
| protected | $fsmanager |
Methods
Returns the preferred byte alignment of the filesystem.
Returns a reference to the parent FS manager
Returns the underlying storage
Returns a database reference
Synchronizes the given folder's metadata with storage
Details
at line 26
__construct(FSManager $fsmanager)
No description
at line 37
int|null
GetChunkSize()
Returns the preferred byte alignment of the filesystem.
Reads and writes should align to these boundaries for performance
at line 40
protected FSManager
GetFSManager()
Returns a reference to the parent FS manager
at line 43
protected Storage
GetStorage()
Returns the underlying storage
at line 46
protected ObjectDatabase
GetDatabase()
Returns a database reference
at line 49
abstract FSImpl
RefreshFile(File $file)
Synchronizes the given file's metadata with storage
at line 52
abstract FSImpl
RefreshFolder(Folder $folder, bool $doContents = true)
Synchronizes the given folder's metadata with storage
at line 66
abstract FSImpl
ImportFile(File $file, InputPath $infile)
Creates a new file and imports its content
at line 83
abstract string
ReadBytes(File $file, int $start, int $length)
Reads the exact number of desired bytes from the given file
Throws an error if the read goes beyond the end of the file
at line 92
abstract FSImpl
WriteBytes(File $file, int $start, string $data)
Writes to the given file, possibly appending it