Static Filesystem ================= The StaticFSHandler Component manages Filesystem Data / Mime-Types for Static Data Requests. All Virtual Host dependent file properties will be loaded at startup into static C++ class member Objects / Structs. The File Data will be ``mmapped()`` into Kernel-Space for ``sendfile()`` usage when requested. If a files size is bigger than 2 Megabytes a huge-page for ``mmap()`` will be tried to allocate. .. warning:: The current volume of files and subdirectories is a performance bottleneck. We must implement subdirectory segmentation in an upcoming release. Program Logic ------------------ Initialization ~~~~~~~~~~~~~~~~~~~~~ Loop recursive over files found in Virtual Host dir (from configuration). Add properties to internal C++ Objects / Structs. All found files will be mmapped() (read into memory) for sendfile() processing. Get Property ~~~~~~~~~~~~~~~~~~~ When an HTTP request for a Static File arrives, the file's properties (e.g. SendfileFD) must be determined / returned by the request-handling code that performs the filesystem lookup. Due to immutable member Objects / Structs a pointer can be used for parallel read access.