|
contur2
|
In-memory educational filesystem with inode + block allocation model. More...
#include <simple_fs.h>


Public Member Functions | |
| SimpleFS (std::size_t totalBlocks=256, std::size_t blockSize=512) | |
| Constructs filesystem over simulated disk blocks. | |
| ~SimpleFS () override | |
| SimpleFS (const SimpleFS &)=delete | |
| SimpleFS & | operator= (const SimpleFS &)=delete |
| SimpleFS (SimpleFS &&) noexcept | |
| SimpleFS & | operator= (SimpleFS &&) noexcept |
| Result< FileDescriptor > | open (const std::string &path, OpenMode mode) override |
| Opens file path with requested mode. | |
| Result< std::size_t > | read (FileDescriptor fd, std::span< std::byte > buffer) override |
| Reads bytes from descriptor into buffer. | |
| Result< std::size_t > | write (FileDescriptor fd, std::span< const std::byte > data) override |
| Writes bytes from data into descriptor stream. | |
| Result< void > | close (FileDescriptor fd) override |
| Closes open descriptor. | |
| Result< void > | mkdir (const std::string &path) override |
| Creates a directory at path. | |
| Result< void > | remove (const std::string &path) override |
| Removes file or empty directory at path. | |
| Result< std::vector< DirectoryEntry > > | listDir (const std::string &path) const override |
| Lists child entries in directory. | |
| Result< InodeInfo > | stat (const std::string &path) const override |
| Returns metadata for path. | |
| Public Member Functions inherited from contur::IFileSystem | |
| virtual | ~IFileSystem ()=default |
Private Attributes | |
| std::unique_ptr< Impl > | impl_ |
In-memory educational filesystem with inode + block allocation model.
SimpleFS keeps all metadata and block data in memory and implements basic directory traversal, file read/write via descriptors, and stat/list operations suitable for kernel-simulator demos and tests.
Definition at line 17 of file simple_fs.h.
|
explicit |
Constructs filesystem over simulated disk blocks.
| totalBlocks | Number of simulated disk blocks. |
| blockSize | Size of each block in bytes. |
|
override |
|
delete |
|
noexcept |
|
nodiscardoverridevirtual |
Closes open descriptor.
| fd | Descriptor to close. |
Implements contur::IFileSystem.
|
nodiscardoverridevirtual |
Lists child entries in directory.
| path | Absolute directory path. |
Implements contur::IFileSystem.
|
nodiscardoverridevirtual |
Creates a directory at path.
| path | Absolute directory path. |
Implements contur::IFileSystem.
|
nodiscardoverridevirtual |
Opens file path with requested mode.
| path | Absolute file path. |
| mode | Open mode flags. |
Implements contur::IFileSystem.
|
nodiscardoverridevirtual |
Reads bytes from descriptor into buffer.
| fd | Open descriptor. |
| buffer | Destination buffer. |
Implements contur::IFileSystem.
|
nodiscardoverridevirtual |
Removes file or empty directory at path.
| path | Absolute path. |
Implements contur::IFileSystem.
|
nodiscardoverridevirtual |
Returns metadata for path.
| path | Absolute file or directory path. |
Implements contur::IFileSystem.
|
nodiscardoverridevirtual |
Writes bytes from data into descriptor stream.
| fd | Open descriptor. |
| data | Source bytes. |
Implements contur::IFileSystem.
|
private |
Definition at line 76 of file simple_fs.h.