summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-25*: explicitly include assert.hVito Caputo
2020-11-25docs: add LICENSE and README filesVito Caputo
Now there's even instructions and legalese
2020-11-25build: introduce rudimentary autotoolsVito Caputo
Now it's easy to build even
2020-11-25src: initial commit of jio WIP sourceVito Caputo
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.
2020-11-25upstream: import some hacked systemd headersVito Caputo
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.
2020-11-25libiou: add libiou submoduleVito Caputo
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.
2020-11-25thunk_h: add thunk_h submoduleVito Caputo
thunk_h makes using closure-esque callbacks in C somewhat convenient.
© All Rights Reserved