Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
System.Nix.Store.Remote
Synopsis
- data RepairMode
- data FileIngestionMethod
- module System.Nix.Store.Remote.Client
- class (MonadIO m, MonadError RemoteStoreError m) => MonadRemoteStore m where
- appendLog :: Logger -> m ()
- getConfig :: m ProtoStoreConfig
- getStoreDir :: m StoreDir
- setStoreDir :: StoreDir -> m ()
- getProtoVersion :: m ProtoVersion
- setProtoVersion :: ProtoVersion -> m ()
- getStoreSocket :: m Socket
- setNarSource :: NarSource IO -> m ()
- takeNarSource :: m (Maybe (NarSource IO))
- setDataSource :: (Word64 -> IO (Maybe ByteString)) -> m ()
- takeDataSource :: m (Maybe (Word64 -> IO (Maybe ByteString)))
- getDataSource :: m (Maybe (Word64 -> IO (Maybe ByteString)))
- clearDataSource :: m ()
- setDataSink :: (ByteString -> IO ()) -> m ()
- getDataSink :: m (Maybe (ByteString -> IO ()))
- clearDataSink :: m ()
- setDataSinkSize :: Word64 -> m ()
- getDataSinkSize :: m (Maybe Word64)
- clearDataSinkSize :: m ()
- data RemoteStoreT m a
- data RemoteStoreError = RemoteStoreError_GetAddrInfoFailed
- runRemoteStoreT :: Monad m => Socket -> RemoteStoreT m a -> m (Either RemoteStoreError a, DList Logger)
- module System.Nix.Store.Remote.Types
- type MonadStore = RemoteStoreT IO
- runStore :: (MonadIO m, MonadMask m) => RemoteStoreT m a -> Run m a
- runStoreConnection :: (MonadIO m, MonadMask m) => StoreConnection -> RemoteStoreT m a -> Run m a
- runStoreSocket :: (MonadIO m, MonadMask m) => Family -> SockAddr -> RemoteStoreT m a -> Run m a
- runDaemon :: forall m a. (MonadIO m, MonadConc m) => WorkerHelper m -> m a -> m a
- runDaemonConnection :: forall m a. (MonadIO m, MonadConc m) => WorkerHelper m -> RemoteStoreT m () -> StoreConnection -> m a -> m a
- justdoit :: Run IO (Bool, Bool)
Documentation
data RepairMode #
Repair mode
Constructors
RepairMode_DoRepair | |
RepairMode_DontRepair |
Instances
data FileIngestionMethod #
Add path recursively or not
Instances
class (MonadIO m, MonadError RemoteStoreError m) => MonadRemoteStore m where Source #
Minimal complete definition
Nothing
Methods
appendLog :: Logger -> m () Source #
default appendLog :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => Logger -> m () Source #
getConfig :: m ProtoStoreConfig Source #
default getConfig :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m ProtoStoreConfig Source #
getStoreDir :: m StoreDir Source #
default getStoreDir :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m StoreDir Source #
setStoreDir :: StoreDir -> m () Source #
default setStoreDir :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => StoreDir -> m () Source #
getProtoVersion :: m ProtoVersion Source #
Get ProtoVersion
from state
default getProtoVersion :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m ProtoVersion Source #
setProtoVersion :: ProtoVersion -> m () Source #
default setProtoVersion :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => ProtoVersion -> m () Source #
getStoreSocket :: m Socket Source #
default getStoreSocket :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m Socket Source #
setNarSource :: NarSource IO -> m () Source #
default setNarSource :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => NarSource IO -> m () Source #
takeNarSource :: m (Maybe (NarSource IO)) Source #
default takeNarSource :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m (Maybe (NarSource IO)) Source #
setDataSource :: (Word64 -> IO (Maybe ByteString)) -> m () Source #
default setDataSource :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => (Word64 -> IO (Maybe ByteString)) -> m () Source #
takeDataSource :: m (Maybe (Word64 -> IO (Maybe ByteString))) Source #
default takeDataSource :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m (Maybe (Word64 -> IO (Maybe ByteString))) Source #
getDataSource :: m (Maybe (Word64 -> IO (Maybe ByteString))) Source #
default getDataSource :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m (Maybe (Word64 -> IO (Maybe ByteString))) Source #
clearDataSource :: m () Source #
default clearDataSource :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m () Source #
setDataSink :: (ByteString -> IO ()) -> m () Source #
default setDataSink :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => (ByteString -> IO ()) -> m () Source #
getDataSink :: m (Maybe (ByteString -> IO ())) Source #
default getDataSink :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m (Maybe (ByteString -> IO ())) Source #
clearDataSink :: m () Source #
default clearDataSink :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m () Source #
setDataSinkSize :: Word64 -> m () Source #
default setDataSinkSize :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => Word64 -> m () Source #
getDataSinkSize :: m (Maybe Word64) Source #
default getDataSinkSize :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m (Maybe Word64) Source #
clearDataSinkSize :: m () Source #
default clearDataSinkSize :: (MonadTrans t, MonadRemoteStore m', m ~ t m') => m () Source #
Instances
data RemoteStoreT m a Source #
Instances
data RemoteStoreError Source #
Constructors
RemoteStoreError_GetAddrInfoFailed |
Instances
runRemoteStoreT :: Monad m => Socket -> RemoteStoreT m a -> m (Either RemoteStoreError a, DList Logger) Source #
Runner for RemoteStoreT
Compat
type MonadStore = RemoteStoreT IO Source #
Runners
runStoreConnection :: (MonadIO m, MonadMask m) => StoreConnection -> RemoteStoreT m a -> Run m a Source #
runStoreSocket :: (MonadIO m, MonadMask m) => Family -> SockAddr -> RemoteStoreT m a -> Run m a Source #
Daemon
runDaemonConnection :: forall m a. (MonadIO m, MonadConc m) => WorkerHelper m -> RemoteStoreT m () -> StoreConnection -> m a -> m a Source #
Run an emulated nix daemon using given StoreConnection
the deamon will close when the continuation returns.