Skip to content

EntropyEngine::Core::IO

Name
EntropyEngine::Core::IO::PackageFlags
Name
structEntropyEngine::Core::IO::WriteOptions
Options controlling file writes.
classEntropyEngine::Core::IO::WriteBatch
WriteBatch - Collects multiple write operations and applies them atomically.
structEntropyEngine::Core::IO::WatchOptions
Options for configuring file system watches.
classEntropyEngine::Core::IO::VirtualFileSystem
structEntropyEngine::Core::IO::StreamOptions
Options for opening streams.
structEntropyEngine::Core::IO::SceneInfo
Scene-specific metadata in the manifest.
structEntropyEngine::Core::IO::ReadOptions
Options controlling file reads.
structEntropyEngine::Core::IO::ProgressOptions
Options for chunked operations with progress.
structEntropyEngine::Core::IO::ProcessedAsset
structEntropyEngine::Core::IO::PendingAsset
structEntropyEngine::Core::IO::PackageWriterOptions
Options for package creation.
classEntropyEngine::Core::IO::PackageWriter
Builds and writes EntropyPackage files.
struct[EntropyEngine::Core::IO::PackageResult< void >](/api/EntropyEngine/Core/IO/PackageResult< void >/)
Specialization for void result (operations that don’t return a value).
structEntropyEngine::Core::IO::PackageResult
Result type for package operations.
classEntropyEngine::Core::IO::PackageReader
Reads assets from EntropyPackage files.
structEntropyEngine::Core::IO::PackageManifest
Package manifest structure.
structEntropyEngine::Core::IO::PackageHeader
Package file header (64 bytes, fixed size).
classEntropyEngine::Core::IO::PackageBackend
Read-only VFS backend for EntropyPackage files.
classEntropyEngine::Core::IO::MappedFile
classEntropyEngine::Core::IO::LocalFileSystemBackend
classEntropyEngine::Core::IO::LocalFileStream
structEntropyEngine::Core::IO::ListDirectoryOptions
Options controlling directory listings.
structEntropyEngine::Core::IO::IoResult
classEntropyEngine::Core::IO::IFileSystemBackend
classEntropyEngine::Core::IO::FileWatchManager
Manager for FileWatch objects using EntropyObject handle stamping.
classEntropyEngine::Core::IO::FileWatchListener
efsw listener implementation that dispatches to FileWatchManager
structEntropyEngine::Core::IO::FileWatchInfo
Information about a file system event.
classEntropyEngine::Core::IO::FileWatch
File system watch object (refcounted, handle-stampable).
classEntropyEngine::Core::IO::FileStream
classEntropyEngine::Core::IO::FileOperationHandle
structEntropyEngine::Core::IO::FileMetadata
classEntropyEngine::Core::IO::FileHandle
Copyable handle to a file path routed through a backend.
structEntropyEngine::Core::IO::FileErrorInfo
Error details accompanying a failed operation.
structEntropyEngine::Core::IO::ExecContext
classEntropyEngine::Core::IO::DirectoryHandle
Copyable handle to a directory path routed through a backend.
structEntropyEngine::Core::IO::DirectoryEntry
structEntropyEngine::Core::IO::CopyOptions
Options controlling file copy behavior.
classEntropyEngine::Core::IO::BufferedFileStream
structEntropyEngine::Core::IO::BatchMetadataOptions
Options to retrieve metadata for multiple paths.
structEntropyEngine::Core::IO::BackendCapabilities
Capabilities advertised by a backend.
structEntropyEngine::Core::IO::AssetInfo
Metadata for a single asset within a package or catalog.
Name
enum classPackageError { 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 classFileWatchEvent { Renamed, Modified, Deleted, Created}
Types of file system events.
using std::function< void(const FileWatchInfo &)>FileWatchCallback
Callback function for file system events.
enum classFileOpStatus { Running, Pending, Partial, Failed, Complete}
enum classFileError { Unknown, Timeout, None = 0, NetworkError, InvalidPath, IOError, FileNotFound, DiskFull, Conflict, AccessDenied}
Public error taxonomy surfaced by VFS operations.
enum class uint8_tDeliveryMethod { DirectFetch = 0, CanvasWebRTC = 2, CanvasHTTP = 1}
Method for portal to fetch asset data.
enum class uint8_tContentType { Texture = 1, Sound = 2, Shader = 5, Scene = 3, Mesh = 0, Material = 4}
Type of asset content.
Name
entropy_FileOperationHandlewrap_file_operation_handle(FileOperationHandle && handle)
const char *packageErrorToString(PackageError error)
Get a human-readable string for a PackageError.
boolmatchGlob(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.
Name
uint32_tkPackageVersion
size_tkPackageTagSize
size_tkPackageSymmetricKeySize
size_tkPackageNonceSize
char[4]kPackageMagic
size_tkPackageKeyIdSize
size_tkPackageHeaderSize
size_tkMaxManifestSize
EnumeratorValueDescription
UnsupportedVersion
NotSupported
None0
ManifestTooLarge
KeyRequired
IoError
InvalidPath
InvalidManifest
InvalidMagic
HashMismatch
FileNotFound
DecryptionFailed
DecompressionFailed
AssetNotFound

Error codes for package operations.

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.

EnumeratorValueDescription
RenamedFile or directory renamed/moved.
ModifiedFile content or directory structure changed.
DeletedFile or directory deleted.
CreatedNew file or directory created.

Types of file system events.

using EntropyEngine::Core::IO::FileWatchCallback = std::function<void(const FileWatchInfo&)>;

Callback function for file system events.

EnumeratorValueDescription
Running
Pending
Partial
Failed
Complete
EnumeratorValueDescription
Unknown
Timeout
None0
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)
EnumeratorValueDescription
DirectFetch0
CanvasWebRTC2
CanvasHTTP1

Method for portal to fetch asset data.

EnumeratorValueDescription
Texture1
Sound2
Shader5
Scene3
Mesh0
Material4

Type of asset content.

entropy_FileOperationHandle wrap_file_operation_handle(
FileOperationHandle && handle
)
inline const char * packageErrorToString(
PackageError error
)

Get a human-readable string for a PackageError.

static bool matchGlob(
const std::string & str,
const std::string & pattern
)
inline const char * deliveryMethodToString(
DeliveryMethod method
)

Get a human-readable string for a DeliveryMethod.

inline const char * contentTypeToString(
ContentType type
)

Get a human-readable string for a ContentType.

uint32_t kPackageVersion = 1;
size_t kPackageTagSize = 16;
size_t kPackageSymmetricKeySize = 32;
size_t kPackageNonceSize = 12;
char[4] kPackageMagic = {'E', 'P', 'A', 'K'};
size_t kPackageKeyIdSize = 32;
size_t kPackageHeaderSize = 64;
size_t kMaxManifestSize = 16 * 1024 * 1024;

Updated on 2026-01-26 at 17:14:35 -0500