1
0
forked from 0ad/0ad
0ad/source/lib/file/vfs
janwas 2374caac3e major refactor of file/io and alignment code. requires update-workspaces
. completely rewrite waio - use IOCP, add several hardcore
optimizations. now outperforms the
  AS SSD and ATTO benchmarks when writing
. refactor file interface - use LIO_READ instead of 'r', allow access to
file descriptor.
. completely rewrite the IO wrapper. now much more simple, less CPU
overhead, adds
  support for pre-issue/post-completion hooks and preallocation.
  io::Run defaults to simple synchronous IO; use io::Parameters to get
asynchronous.
. add alignment.h with constants and Align() function template (more
efficient than
  round_up for compile-time constants)
. add UniqueRange - similar to C++0x unique_ptr (emulated for C++03),
plus a
  built-in size. avoids expensive thread-safe reference counting in
shared_ptr.

cleanup:
- move fat_time functions into archive_zip
- remove no longer needed io_align and block_cache
- reduce dependencies in sysdep/compiler (move parts to
code_annotation.h)
- move IOCP into separate file (reused by waio)

This was SVN commit r9350.
2011-04-29 19:10:34 +00:00
..
file_cache.cpp major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
file_cache.h Fix #423 (Switch from CppDoc to Doxygen), based on patch from anr. 2010-07-29 15:55:41 +00:00
vfs_lookup.cpp refactor path interface: 2011-03-23 13:36:20 +00:00
vfs_lookup.h skip populating directories when mounting and scanning archives => reduces startup time by about half a second when archives are present. 2010-10-10 10:22:11 +00:00
vfs_path.cpp # towards locale-independent pathnames on Linux 2011-03-21 17:53:13 +00:00
vfs_path.h refactor headers: path_util -> path, native_path -> os_path, remove where unnecessary 2011-03-23 14:43:35 +00:00
vfs_populate.cpp refactor headers: path_util -> path, native_path -> os_path, remove where unnecessary 2011-03-23 14:43:35 +00:00
vfs_populate.h license change to the more permissible Expat/MIT license for lib/ (see forum thread) 2010-02-08 16:23:39 +00:00
vfs_tree.cpp refactor path interface: 2011-03-23 13:36:20 +00:00
vfs_tree.h refactor path interface: 2011-03-23 13:36:20 +00:00
vfs.cpp major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
vfs.h refactor path interface: 2011-03-23 13:36:20 +00:00