{-# LANGUAGE DeriveDataTypeable, TypeFamilies, TemplateHaskell #-} module Main (main) where import Data.Acid import Data.Acid.Local import Data.Acid.Remote (acidServer) import Control.Exception (bracket) import Data.Typeable import Network import RemoteCommon -- open a server on port 8080 main :: IO () main = bracket (do putStrLn "Loading checkpoint" mkAcid <- prepareLocalState $ StressState 0 putStrLn "Waiting for lock/replaying events" acid <- mkAcid putStrLn "Done." return acid) closeAcidState (\s -> acidServer s (PortNumber 8080))