Alien-Libjio

 view release on metacpan or  search on metacpan

libjio/doc/guide.rst  view on Meta::CPAN

be as intuitive as possible, so the text is structured as a guide to present
the reader all the common structures and functions the way they're normally
used.


Definitions
-----------

This is a library which provides a transaction-oriented I/O API.

We say this is a transaction-oriented API because we make transactions the
center of our operations, and journaled because we use a journal (which takes
the form of a directory with files on it) to guarantee coherency even after a
crash at any point.

In this document, we think of a transaction as a list of *(buffer, length,
offset)* to be written to a file. That triplet is called an *operation*, so we
can say that a transaction represents an ordered group of operations on the
same file.

The act of *committing* a transaction means writing all the elements of that
list; and *rolling back* means to undo a previous commit, and leave the data
just as it was before doing the commit.

The library provides several guarantees, the most relevant and useful being
that at any point of time, even if the machine crash horribly, a transaction
will be either fully applied or not applied at all.



( run in 0.563 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )