From c2bd20cd56417c3df0dfc975343b3ee58641418f Mon Sep 17 00:00:00 2001 From: Felipe Lessa Date: Mon, 25 May 2015 22:09:25 -0300 Subject: [PATCH] Add acid-state to main README, include better example of usage. --- README.md | 5 +++++ .../src/Web/ServerSession/Backend/Acid.hs | 13 ++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index aa92a53..9d774b2 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,11 @@ to be paired up with two companion packages: `persistent`'s SQL backend. Works with PostgreSQL, MySQL, SQLite. + * `serversession-backend-acid-state`: Storage backend using + `acid-state`. This backend keeps sessions in memory but + provides ACID guarantees using a transaction log. It can + also be used without durability as a memory-only backend. + * _Frontend_, bindings for your web framework of choice. Currently we support: diff --git a/serversession-backend-acid-state/src/Web/ServerSession/Backend/Acid.hs b/serversession-backend-acid-state/src/Web/ServerSession/Backend/Acid.hs index d722e18..8447630 100644 --- a/serversession-backend-acid-state/src/Web/ServerSession/Backend/Acid.hs +++ b/serversession-backend-acid-state/src/Web/ServerSession/Backend/Acid.hs @@ -4,12 +4,15 @@ -- example: -- -- @ --- import Data.Acid --- import Web.ServerSession.Backend.Acid +-- import Control.Exception (bracket) +-- import Data.Acid.Local (openLocalState, createCheckpointAndClose) +-- import Web.ServerSession.Backend.Acid (AcidStorage(..), emptyState) -- --- makeSessionStorage :: IO 'AcidStorage' --- makeSessionStorage = --- 'AcidStorage' \<$\> openLocalState 'emptyState' +-- withSessionStorage :: (AcidStorage -> IO a) -> IO a +-- withSessionStorage = +-- bracket +-- ('AcidStorage' \<$\> openLocalState 'emptyState') +-- createCheckpointAndClose -- @ module Web.ServerSession.Backend.Acid ( AcidStorage(..)