Age | Commit message (Collapse) | Author |
|
|
|
Now there's even instructions and legalese
|
|
Now it's easy to build even
|
|
This is a very quick and dirty experimental hack written in some
sort of bastard continuation-passing style in C w/io_uring using
journal-file introspection and manipulation duty as an excuse for
its existence.
Consider this unfinished prototype quality code.
|
|
This brings journal-file data structures and byte swapping
helpers I may as well just reuse.
I've had to do some minor messing about to make things workable in
isolation out of the systemd tree without pulling in too much.
I've also added a new HashedObjectHeader type to encompass the
slightly larger common header components of FieldObject and
DataObject to facilitate a generic hash table iterator that can
operate on just loading HashedObjectHeader when nothing more
than the object size is needed for accounting. Basically the
HashedObjectHeader is ObjectHeader+hash+next_hash_offset.
|
|
libiou is a thin veneer over io_uring defining an ergonomic async
IO-oriented API.
Since jio shouldn't need to do anything computationally
intensive, the combination of thunk_h for closures and
libiou+io_uring for scheduling closures according to IO
completions should be sufficient for an implementation. Though
it may prove annoying to not have per-task stacks and the ability
to arbitrarily yield and/or delay execution pending completion of
non-IO results, we'll see.
|
|
thunk_h makes using closure-esque callbacks in C somewhat
convenient.
|