Bezpieczne operacje na plikach za pomocą libjio

Transakcyjne, księgowane operacje na plikach w systemach Uniksowych

libjio to biblioteka działająca w przestrzeni użytkownika i służąca do księgowanych, transakcyjnych operacji Wejścia/Wyjścia (I/O). Oferuje proste API do wykonywania i cofania transakcji, oraz zestaw funkcji typu open(), read(), write() wykonujących standardowe operacje na plikach (threadsafe, operacje atomowe). Biblioteka gwarantuje integralność pliku, nawet po nieoczekiwanym błędzie. Napisana jest w C i działa na większości systemów Uniksowych. Dostępne są także moduły dla Pythona 2 i 3.

Instalacja jest prosta i składa się z make && make install. By zbudować moduł Pythona 2 wystarczy make python2 && make python2_install. Odpowiednio make python3 && make python3_install dla modułu Pythona 3.

Poniżej przykład wykorzystania libjio z poziomu Pythona:

import libjio

f = libjio.open("filename.txt", libjio.O_RDWR | libjio.O_CREAT)
t = f.new_trans()
t.add_w("Hello world!", 0)
t.commit()
Więcej przykładów można wyciągnąć z testów jednostkowych tej biblioteki.

blog comments powered by Disqus

Kategorie

Strony