Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class Monad m => MultiPoolBackend (m :: Type -> Type) backend where #
type Primaries backend :: Type #
type Replicas backend :: Type #
type LocalPrimary backend :: Type #
type LocalReplica backend :: Type #
type PrimaryConnection backend :: Type #
type ReplicaConnection backend :: Type #
type PrimaryIdentifier backend :: Type #
type ReplicaIdentifier backend :: Type #
runWriteAny :: MultiPool backend -> ReaderT (PrimaryConnection backend) m a -> m a #
runWrite :: MultiPool backend -> PrimaryIdentifier backend -> ReaderT (PrimaryConnection backend) m a -> m a #
runReadPrimary :: MultiPool backend -> PrimaryIdentifier backend -> ReaderT (ReplicaConnection backend) m a -> m a #
runReadAnyPrimary :: MultiPool backend -> ReaderT (ReplicaConnection backend) m a -> m a #
runReadAny :: MultiPool backend -> ReaderT (ReplicaConnection backend) m a -> m a #
runRead :: MultiPool backend -> ReplicaIdentifier backend -> ReaderT (ReplicaConnection backend) m a -> m a #
takePrimary :: MultiPool backend -> PrimaryIdentifier backend -> m (PrimaryConnection backend, LocalPrimary backend) #
putPrimary :: MultiPool backend -> LocalPrimary backend -> PrimaryConnection backend -> m () #
takeReplica :: MultiPool backend -> ReplicaIdentifier backend -> m (ReplicaConnection backend, LocalReplica backend) #
putReplica :: MultiPool backend -> LocalReplica backend -> ReplicaConnection backend -> m () #
Instances
initMultiPool :: MonadUnliftIO m => ByteString -> Int -> [(InstanceName Connection, ByteString, Int)] -> m (MultiPool Connection) Source #
:: MonadUnliftIO m | |
=> (MultiPool Connection -> IO (Maybe (InstanceName Connection))) | |
-> ByteString | Primary connection string |
-> Int | Max number of connections to master instance |
-> [(InstanceName Connection, ByteString, Int)] | Replica connection details |
-> m (MultiPool Connection) |