Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/llfio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com>2016-05-24 08:45:52 +0300
committerNiall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com>2016-05-24 08:51:14 +0300
commit56ff0dbe46619e7be40b835e33fd300e0a73e016 (patch)
tree5fed8c669d505a7f95343bd99cd98c86b29fa7a0 /release_notes.md
parente5d0039257303c20eb1abecfa64df757b59829a6 (diff)
wip
Diffstat (limited to 'release_notes.md')
-rw-r--r--release_notes.md21
1 files changed, 16 insertions, 5 deletions
diff --git a/release_notes.md b/release_notes.md
index 207fb5fe..a27644f8 100644
--- a/release_notes.md
+++ b/release_notes.md
@@ -1,7 +1,9 @@
-Herein lies the beginnings of the proposed Boost.AFIO v2 post-peer-review rewrite.
+Herein lies the beginnings of the proposed Boost.AFIO v2 post-peer-review rewrite. Its github
+source code repository lives at https://github.com/ned14/boost.afio.
\note Note that this code is so early alpha that no test code, let alone unit test code, exists
-yet.
+yet. Nobody should use this code for anything serious until the unit tests are in place and
+being nightly tested via continuous integration.
## Architecture and design:
@@ -13,12 +15,15 @@ yet.
| ✔ | ✔ | AFIO v1 handle type split into hierarchy of types:<ol><li>handle - provides open, close, get path, clone, set/unset append only, change caching, characteristics<li>io_handle - adds synchronous scatter-gather i/o, byte range locking<li>file_handle - adds open/create file, get and set maximum extent<li>async_file_handle - adds asynchronous scatter-gather i/o</ol>
| ✔ | ✔ | Cancelable i/o (made possible thanks to dropping XP support).
| ✔ | ✔ | All shared_ptr usage removed as all use of multiple threads removed.
-| ✔ | ✔ | Use of std::vector to transport scatter-gather sequences replaced with C++ 17 `span<>`.
+| ✔ | ✔ | Use of std::vector to transport scatter-gather sequences replaced with C++ 2x `span<>` borrowed views.
| ✔ | ✔ | Completion callbacks are now some arbitrary type `U&&` instead of a future continuation. Type erasure for its storage is bound into the one single memory allocation for everything needed to execute the op, and so therefore overhead is optimal.
-| ✔ | | Abstraction of native handle management via bitfield specified "characteristics".
+| ✔ | ✔ | Filing system algorithms made generic and broken out into public `afio::algorithms` template library (the AFIO FTL).
+| ✔ | ✔ | Abstraction of native handle management via bitfield specified "characteristics".
| ✔ | | Storage profiles, a YAML database of behaviours of hardware, OS and filing system combinations.
| ✔ | | Absolute and interval deadline timed i/o throughout (made possible thanks to dropping XP support).
| ✔ | | Dependency on ASIO/Networking TS removed completely.
+| ✔ | | Three choices of algorithm implementing a shared filing system mutex.
+| P | | New multithreaded kernel based testing infrastructure based on LLVM which can permute/fuzz/<b>edge</b> coverage/mock each test kernel with choices of asan/lsan/msan/ubsan/none sanitisation. This new test infrastructure should make possible eventual <b>formal proof</b> that AFIO's implementation is mathematically correct.
## Features implemented:
@@ -28,7 +33,7 @@ yet.
| ✔ | ✔ | ✔ | Native handle cloning.
| ✔ (up from four) | ✔ | ✔ | Maximum possible (seven) forms of kernel caching.
| | ✔ | ✔ | Absolute path open.
-| | | | Relative path open.
+| | | | Relative path open ("fat paths").
| ✔ | ✔ | | Win32 path support (260 path limit).
| | | | NT kernel path support (32,768 path limit).
| ✔ | ✔ | ✔ | Synchronous universal scatter-gather i/o.
@@ -37,4 +42,10 @@ yet.
| | ✔ | ✔ | Retrieving and setting the current maximum extent (size) of an open file.
| | ✔ | ✔ | statfs_t ported over from AFIO v1.
| | ✔ | ✔ | utils namespace ported over from AFIO v1.
+| ✔ | ✔ | ✔ | `shared_fs_mutex` shared/exclusive entities locking based on lock files
+| ✔ | ✔ | P | Byte range shared/exclusive locking.
+| ✔ | ✔ | P | `shared_fs_mutex` shared/exclusive entities locking based on byte ranges
+| ✔ | ✔ | P | `shared_fs_mutex` shared/exclusive entities locking based on atomic append
+| | P | P | Memory mapped files (`mapped_file_handle`)
+| ✔ | P | P | `shared_fs_mutex` shared/exclusive entities locking based on memory maps