EntropyEngine::Core::IO
EntropyEngine::Core::IO
Section titled “EntropyEngine::Core::IO”Namespaces
Section titled “Namespaces”| Name |
|---|
| EntropyEngine::Core::IO::PackageFlags |
Classes
Section titled “Classes”| Name | |
|---|---|
| enum class | PackageError { UnsupportedVersion, NotSupported, None = 0, ManifestTooLarge, KeyRequired, IoError, InvalidPath, InvalidManifest, InvalidMagic, HashMismatch, FileNotFound, DecryptionFailed, DecompressionFailed, AssetNotFound} Error codes for package operations. |
| using std::array< uint8_t, 32 > | Hash256 Generic 256-bit hash for verification purposes. |
| enum class | FileWatchEvent { Renamed, Modified, Deleted, Created} Types of file system events. |
| using std::function< void(const FileWatchInfo &)> | FileWatchCallback Callback function for file system events. |
| enum class | FileOpStatus { Running, Pending, Partial, Failed, Complete} |
| enum class | FileError { Unknown, Timeout, None = 0, NetworkError, InvalidPath, IOError, FileNotFound, DiskFull, Conflict, AccessDenied} Public error taxonomy surfaced by VFS operations. |
| enum class uint8_t | DeliveryMethod { DirectFetch = 0, CanvasWebRTC = 2, CanvasHTTP = 1} Method for portal to fetch asset data. |
| enum class uint8_t | ContentType { Texture = 1, Sound = 2, Shader = 5, Scene = 3, Mesh = 0, Material = 4} Type of asset content. |
Functions
Section titled “Functions”| Name | |
|---|---|
| entropy_FileOperationHandle | wrap_file_operation_handle(FileOperationHandle && handle) |
| const char * | packageErrorToString(PackageError error) Get a human-readable string for a PackageError. |
| bool | matchGlob(const std::string & str, const std::string & pattern) |
| const char * | deliveryMethodToString(DeliveryMethod method) Get a human-readable string for a DeliveryMethod. |
| const char * | contentTypeToString(ContentType type) Get a human-readable string for a ContentType. |
Attributes
Section titled “Attributes”| Name | |
|---|---|
| uint32_t | kPackageVersion |
| size_t | kPackageTagSize |
| size_t | kPackageSymmetricKeySize |
| size_t | kPackageNonceSize |
| char[4] | kPackageMagic |
| size_t | kPackageKeyIdSize |
| size_t | kPackageHeaderSize |
| size_t | kMaxManifestSize |
Types Documentation
Section titled “Types Documentation”enum PackageError
Section titled “enum PackageError”| Enumerator | Value | Description |
|---|---|---|
| UnsupportedVersion | ||
| NotSupported | ||
| None | 0 | |
| ManifestTooLarge | ||
| KeyRequired | ||
| IoError | ||
| InvalidPath | ||
| InvalidManifest | ||
| InvalidMagic | ||
| HashMismatch | ||
| FileNotFound | ||
| DecryptionFailed | ||
| DecompressionFailed | ||
| AssetNotFound |
Error codes for package operations.
using Hash256
Section titled “using Hash256”using EntropyEngine::Core::IO::Hash256 = std::array<uint8_t, 32>;Generic 256-bit hash for verification purposes.
Used for hashes that are NOT asset lookup keys (e.g., plaintext verification). For asset lookup, use EntropyCanvas::AssetId instead.
enum FileWatchEvent
Section titled “enum FileWatchEvent”| Enumerator | Value | Description |
|---|---|---|
| Renamed | File or directory renamed/moved. | |
| Modified | File content or directory structure changed. | |
| Deleted | File or directory deleted. | |
| Created | New file or directory created. |
Types of file system events.
using FileWatchCallback
Section titled “using FileWatchCallback”using EntropyEngine::Core::IO::FileWatchCallback = std::function<void(const FileWatchInfo&)>;Callback function for file system events.
enum FileOpStatus
Section titled “enum FileOpStatus”| Enumerator | Value | Description |
|---|---|---|
| Running | ||
| Pending | ||
| Partial | ||
| Failed | ||
| Complete |
enum FileError
Section titled “enum FileError”| Enumerator | Value | Description |
|---|---|---|
| Unknown | ||
| Timeout | ||
| None | 0 | |
| NetworkError | ||
| InvalidPath | ||
| IOError | ||
| FileNotFound | ||
| DiskFull | ||
| Conflict | ||
| AccessDenied |
Public error taxonomy surfaced by VFS operations.
Mapping guidelines:
- FileNotFound: path does not exist when required (read/stat)
- AccessDenied: open/create denied by OS/permissions
- DiskFull: ENOSPC/EDQUOT or equivalent on write/flush
- InvalidPath: malformed path, name too long, or parent missing
- IOError: other local I/O failures (including fsync failures)
- NetworkError: remote/backend transport failure (future backends)
- Timeout: bounded waits exceeded (advisory lock or backend scope)
- Conflict: contention detected (backend Busy without fallback)
enum DeliveryMethod
Section titled “enum DeliveryMethod”| Enumerator | Value | Description |
|---|---|---|
| DirectFetch | 0 | |
| CanvasWebRTC | 2 | |
| CanvasHTTP | 1 |
Method for portal to fetch asset data.
enum ContentType
Section titled “enum ContentType”| Enumerator | Value | Description |
|---|---|---|
| Texture | 1 | |
| Sound | 2 | |
| Shader | 5 | |
| Scene | 3 | |
| Mesh | 0 | |
| Material | 4 |
Type of asset content.
Functions Documentation
Section titled “Functions Documentation”function wrap_file_operation_handle
Section titled “function wrap_file_operation_handle”entropy_FileOperationHandle wrap_file_operation_handle( FileOperationHandle && handle)function packageErrorToString
Section titled “function packageErrorToString”inline const char * packageErrorToString( PackageError error)Get a human-readable string for a PackageError.
function matchGlob
Section titled “function matchGlob”static bool matchGlob( const std::string & str, const std::string & pattern)function deliveryMethodToString
Section titled “function deliveryMethodToString”inline const char * deliveryMethodToString( DeliveryMethod method)Get a human-readable string for a DeliveryMethod.
function contentTypeToString
Section titled “function contentTypeToString”inline const char * contentTypeToString( ContentType type)Get a human-readable string for a ContentType.
Attributes Documentation
Section titled “Attributes Documentation”variable kPackageVersion
Section titled “variable kPackageVersion”uint32_t kPackageVersion = 1;variable kPackageTagSize
Section titled “variable kPackageTagSize”size_t kPackageTagSize = 16;variable kPackageSymmetricKeySize
Section titled “variable kPackageSymmetricKeySize”size_t kPackageSymmetricKeySize = 32;variable kPackageNonceSize
Section titled “variable kPackageNonceSize”size_t kPackageNonceSize = 12;variable kPackageMagic
Section titled “variable kPackageMagic”char[4] kPackageMagic = {'E', 'P', 'A', 'K'};variable kPackageKeyIdSize
Section titled “variable kPackageKeyIdSize”size_t kPackageKeyIdSize = 32;variable kPackageHeaderSize
Section titled “variable kPackageHeaderSize”size_t kPackageHeaderSize = 64;variable kMaxManifestSize
Section titled “variable kMaxManifestSize”size_t kMaxManifestSize = 16 * 1024 * 1024;Updated on 2026-01-26 at 17:14:35 -0500