libraft 0.1.0.0 → 0.1.1.0
raw patch · 7 files changed
+14/−13 lines, 7 files
Files
- app/Main.hs +2/−1
- libraft.cabal +2/−4
- src/Examples/Raft/FileStore.hs +2/−1
- src/Examples/Raft/Socket/Node.hs +2/−1
- src/Raft.hs +4/−3
- src/Raft/Leader.hs +0/−2
- test/TestDejaFu.hs +2/−1
app/Main.hs view
@@ -21,6 +21,7 @@ ) import Control.Concurrent.Classy hiding (catch)+import Control.Monad.Fail import Control.Monad.Catch import Control.Monad.Trans.Class @@ -90,7 +91,7 @@ } newtype RaftExampleM sm v a = RaftExampleM { unRaftExampleM :: ReaderT (NodeEnv sm) (RaftSocketT v (RaftFileStoreT IO)) a }- deriving (Functor, Applicative, Monad, MonadIO, MonadReader (NodeEnv sm), Alternative, MonadPlus)+ deriving (Functor, Applicative, Monad, MonadIO, MonadFail, MonadReader (NodeEnv sm), Alternative, MonadPlus) deriving instance MonadThrow (RaftExampleM sm v) deriving instance MonadCatch (RaftExampleM sm v)
libraft.cabal view
@@ -2,13 +2,11 @@ -- -- see: https://github.com/sol/hpack ----- hash: b32be6507cfec629f59764cb08eca1bc86e11f5e67036477ae0aaa54e6b1458c+-- hash: 0e9cecc332c8c5b872a193fa8e1bcf55c994bce6217b0d17f13894079c45af32 name: libraft-version: 0.1.0.0-synopsis: Raft consensus algorithm+version: 0.1.1.0 description: Please see the README on GitHub at <https://github.com/adjoint-io/raft#readme>-category: Distributed Systems homepage: https://github.com/adjoint-io/raft#readme bug-reports: https://github.com/adjoint-io/raft/issues author: Adjoint Inc.
src/Examples/Raft/FileStore.hs view
@@ -16,6 +16,7 @@ import Protolude import Control.Concurrent.Classy hiding (catch, ThreadId)+import Control.Monad.Fail import Control.Monad.Catch import Control.Monad.Trans.Class @@ -37,7 +38,7 @@ } newtype RaftFileStoreT m a = RaftFileStoreT { unRaftFileStoreT :: ReaderT NodeFileStoreEnv m a }- deriving (Functor, Applicative, Monad, MonadIO, MonadReader NodeFileStoreEnv, Alternative, MonadPlus, MonadTrans)+ deriving (Functor, Applicative, Monad, MonadIO, MonadFail, MonadReader NodeFileStoreEnv, Alternative, MonadPlus, MonadTrans) deriving instance MonadConc m => MonadThrow (RaftFileStoreT m) deriving instance MonadConc m => MonadCatch (RaftFileStoreT m)
src/Examples/Raft/Socket/Node.hs view
@@ -21,6 +21,7 @@ ) import Control.Concurrent.Classy hiding (catch, ThreadId)+import Control.Monad.Fail import Control.Monad.Catch import Control.Monad.Trans.Class @@ -45,7 +46,7 @@ } newtype RaftSocketT v m a = RaftSocketT { unRaftSocketT :: ReaderT (NodeSocketEnv v) m a }- deriving (Functor, Applicative, Monad, MonadIO, MonadReader (NodeSocketEnv v), Alternative, MonadPlus, MonadTrans)+ deriving (Functor, Applicative, Monad, MonadIO, MonadFail, MonadReader (NodeSocketEnv v), Alternative, MonadPlus, MonadTrans) deriving instance MonadConc m => MonadThrow (RaftSocketT v m) deriving instance MonadConc m => MonadCatch (RaftSocketT v m)
src/Raft.hs view
@@ -110,6 +110,7 @@ import Control.Concurrent.Classy.STM.TChan import Control.Concurrent.Classy.Async +import Control.Monad.Fail import Control.Monad.Catch import Control.Monad.Trans.Class @@ -144,7 +145,7 @@ newtype RaftT v m a = RaftT { unRaftT :: ReaderT (RaftEnv v m) (StateT RaftNodeState m) a- } deriving (Functor, Applicative, Monad, MonadReader (RaftEnv v m), MonadState RaftNodeState, Alternative, MonadPlus)+ } deriving (Functor, Applicative, Monad, MonadReader (RaftEnv v m), MonadState RaftNodeState, MonadFail, Alternative, MonadPlus) instance MonadTrans (RaftT v) where lift = RaftT . lift . lift@@ -182,7 +183,7 @@ -- It should run forever runRaftNode :: ( Show v, Show sm, Show (Action sm v)- , MonadIO m, MonadConc m+ , MonadIO m, MonadConc m, MonadFail m , RSM sm v m , Show (RSMPError sm v) , RaftSendRPC m v@@ -223,7 +224,7 @@ handleEventLoop :: forall sm v m. ( Show v, Show sm, Show (Action sm v)- , MonadIO m, MonadConc m+ , MonadIO m, MonadConc m, MonadFail m , RSM sm v m , Show (RSMPError sm v) , RaftPersist m
src/Raft/Leader.hs view
@@ -5,8 +5,6 @@ {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE GADTs #-}-{-# LANGUAGE MonoLocalBinds #-}-{-# LANGUAGE RankNTypes #-} module Raft.Leader ( handleAppendEntries
test/TestDejaFu.hs view
@@ -20,6 +20,7 @@ import qualified Data.Serialize as S import Numeric.Natural +import Control.Monad.Fail import Control.Monad.Catch import Control.Monad.Conc.Class import Control.Concurrent.Classy.STM.TChan@@ -86,7 +87,7 @@ newtype RaftTestM a = RaftTestM { unRaftTestM :: ReaderT TestNodeEnv (StateT TestNodeStates ConcIO) a- } deriving (Functor, Applicative, Monad, MonadIO, MonadReader TestNodeEnv, MonadState TestNodeStates)+ } deriving (Functor, Applicative, Monad, MonadIO, MonadReader TestNodeEnv, MonadState TestNodeStates, MonadFail) deriving instance MonadThrow RaftTestM deriving instance MonadCatch RaftTestM