State container offering full ACID (Atomicity, Consistency, Isolation and Durability) guarantees.
AtomicityState changes are all-or-nothing. This is what you'd expect of any state variable in Haskell and AcidState doesn't change that.
ConsistencyNo event or set of events will break your data invariants.
IsolationTransactions cannot interfere with each other even when issued in parallel.
DurabilitySuccessful transaction are guaranteed to survive unexpected system shutdowns (both those caused by hardware and software).
Constructors
AcidState_scheduleUpdate :: forall event. (UpdateEvent event, EventState event ~ st) => event -> IO (MVar (EventResult event))scheduleColdUpdate :: Tagged ByteString -> IO (MVar ByteString)_query :: forall event. (QueryEvent event, EventState event ~ st) => event -> IO (EventResult event)queryCold :: Tagged ByteString -> IO ByteStringcreateCheckpoint :: IO ()createArchive :: IO ()closeAcidState :: IO ()acidSubState :: AnyState st