Age | Commit message (Collapse) | Author |
|
into an extension to file_handle. This makes space to make a future lockable_io_handle to model SharedMutex, which locks an inode like a std::shared_mutex. Note that the new .lock_range() API no longer does special semantics if you pass in zero length to lock the whole file.
|
|
implement cmake hunter support.
Significantly slimmed down the headers being dragged in by the default LLFIO include, specifically that outcome<T> is no longer dragged in, and:
- #36 Async file i/o and storage profile have been modularised out of the default headers.
- #36 Mapped file i/o can be modularised out of the default headers.
Changed barrier kind to class enum, as per latest WG21 spec.
|
|
fast_random_file_handle wasn't exported from DLLs, and was missing function overrides.
Made io_handle::extent_guard available to subclasses.
|
|
is now move-only, which in turn requires the async i/o completion handlers to all use rvalue refs instead of lvalue refs. This helped find and fix a fair few inefficient corner cases along the way, which is great.
|
|
Relocate initialiser list io_handle read function into file_handle
|
|
Also fixed a number of vptr slicing bugs across the handle implementations, mainly caused by missing operator=() implementations.
Fixed path_handle::clone() not working on POSIX.
|
|
|
|
|