hnix-store-remote-0.7.0.0: Remote hnix store
Safe HaskellSafe-Inferred
LanguageHaskell2010

System.Nix.Store.Remote

Synopsis

Documentation

data RepairMode #

Repair mode

Instances

Instances details
Bounded RepairMode 
Instance details

Defined in System.Nix.Store.Types

Enum RepairMode 
Instance details

Defined in System.Nix.Store.Types

Generic RepairMode 
Instance details

Defined in System.Nix.Store.Types

Associated Types

type Rep RepairMode :: Type -> Type #

Show RepairMode 
Instance details

Defined in System.Nix.Store.Types

Eq RepairMode 
Instance details

Defined in System.Nix.Store.Types

Ord RepairMode 
Instance details

Defined in System.Nix.Store.Types

type Rep RepairMode 
Instance details

Defined in System.Nix.Store.Types

type Rep RepairMode = D1 ('MetaData "RepairMode" "System.Nix.Store.Types" "hnix-store-core-0.8.0.0-KoQ0hVKi7ckChERuSTExWl" 'False) (C1 ('MetaCons "RepairMode_DoRepair" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RepairMode_DontRepair" 'PrefixI 'False) (U1 :: Type -> Type))

data FileIngestionMethod #

Add path recursively or not

Instances

Instances details
Bounded FileIngestionMethod 
Instance details

Defined in System.Nix.Store.Types

Enum FileIngestionMethod 
Instance details

Defined in System.Nix.Store.Types

Generic FileIngestionMethod 
Instance details

Defined in System.Nix.Store.Types

Associated Types

type Rep FileIngestionMethod :: Type -> Type #

Show FileIngestionMethod 
Instance details

Defined in System.Nix.Store.Types

Eq FileIngestionMethod 
Instance details

Defined in System.Nix.Store.Types

Ord FileIngestionMethod 
Instance details

Defined in System.Nix.Store.Types

type Rep FileIngestionMethod 
Instance details

Defined in System.Nix.Store.Types

type Rep FileIngestionMethod = D1 ('MetaData "FileIngestionMethod" "System.Nix.Store.Types" "hnix-store-core-0.8.0.0-KoQ0hVKi7ckChERuSTExWl" 'False) (C1 ('MetaCons "FileIngestionMethod_Flat" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FileIngestionMethod_FileRecursive" 'PrefixI 'False) (U1 :: Type -> Type))

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 #

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

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

Instances details
MonadIO m => MonadRemoteStore (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

MonadRemoteStore m => MonadRemoteStore (ExceptT RemoteStoreError m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

MonadRemoteStore m => MonadRemoteStore (ReaderT r m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

MonadRemoteStore m => MonadRemoteStore (StateT s m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

data RemoteStoreT m a Source #

Instances

Instances details
MonadTrans RemoteStoreT Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Methods

lift :: Monad m => m a -> RemoteStoreT m a #

Monad m => MonadError RemoteStoreError (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Monad m => MonadReader Socket (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Methods

ask :: RemoteStoreT m Socket #

local :: (Socket -> Socket) -> RemoteStoreT m a -> RemoteStoreT m a #

reader :: (Socket -> a) -> RemoteStoreT m a #

MonadIO m => MonadIO (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Methods

liftIO :: IO a -> RemoteStoreT m a #

Monad m => Applicative (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Methods

pure :: a -> RemoteStoreT m a #

(<*>) :: RemoteStoreT m (a -> b) -> RemoteStoreT m a -> RemoteStoreT m b #

liftA2 :: (a -> b -> c) -> RemoteStoreT m a -> RemoteStoreT m b -> RemoteStoreT m c #

(*>) :: RemoteStoreT m a -> RemoteStoreT m b -> RemoteStoreT m b #

(<*) :: RemoteStoreT m a -> RemoteStoreT m b -> RemoteStoreT m a #

Functor m => Functor (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Methods

fmap :: (a -> b) -> RemoteStoreT m a -> RemoteStoreT m b #

(<$) :: a -> RemoteStoreT m b -> RemoteStoreT m a #

Monad m => Monad (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Methods

(>>=) :: RemoteStoreT m a -> (a -> RemoteStoreT m b) -> RemoteStoreT m b #

(>>) :: RemoteStoreT m a -> RemoteStoreT m b -> RemoteStoreT m b #

return :: a -> RemoteStoreT m a #

MonadCatch m => MonadCatch (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Methods

catch :: (HasCallStack, Exception e) => RemoteStoreT m a -> (e -> RemoteStoreT m a) -> RemoteStoreT m a #

MonadMask m => MonadMask (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Methods

mask :: HasCallStack => ((forall a. RemoteStoreT m a -> RemoteStoreT m a) -> RemoteStoreT m b) -> RemoteStoreT m b #

uninterruptibleMask :: HasCallStack => ((forall a. RemoteStoreT m a -> RemoteStoreT m a) -> RemoteStoreT m b) -> RemoteStoreT m b #

generalBracket :: HasCallStack => RemoteStoreT m a -> (a -> ExitCase b -> RemoteStoreT m c) -> (a -> RemoteStoreT m b) -> RemoteStoreT m (b, c) #

MonadThrow m => MonadThrow (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Methods

throwM :: (HasCallStack, Exception e) => e -> RemoteStoreT m a #

MonadIO m => MonadRemoteStore (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

data RemoteStoreError Source #

Instances

Instances details
Show RemoteStoreError Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

Monad m => MonadError RemoteStoreError (RemoteStoreT m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

MonadRemoteStore m => MonadRemoteStore (ExceptT RemoteStoreError m) Source # 
Instance details

Defined in System.Nix.Store.Remote.MonadStore

runRemoteStoreT :: Monad m => Socket -> RemoteStoreT m a -> m (Either RemoteStoreError a, DList Logger) Source #

Runner for RemoteStoreT

Compat

Runners

Daemon

runDaemon :: forall m a. (MonadIO m, MonadConc m) => WorkerHelper m -> m a -> m a Source #

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.