Copyright | (c) John Ericson 2023 Sorki 2023 |
---|---|
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
System.Nix.Store.Remote.Serializer
Description
|
Synopsis
- type NixSerializer r e = Serializer (SerialT r e)
- mapReaderS :: (r' -> r) -> NixSerializer r e a -> NixSerializer r' e a
- mapErrorS :: (e -> e') -> NixSerializer r e a -> NixSerializer r e' a
- data SError
- = SError
- | SError_BadPadding { }
- | SError_ContentAddress String
- | SError_DerivedPath ParseOutputsError
- | SError_DerivationOutput DerivationOutputError
- | SError_Digest String
- | SError_EnumOutOfMinBound Int
- | SError_EnumOutOfMaxBound Int
- | SError_HashAlgo String
- | SError_IllegalBool Word64
- | SError_InvalidNixBase32
- | SError_JSONDecoding String
- | SError_NarHashMustBeSHA256
- | SError_NotYetImplemented String (ForPV ProtoVersion)
- | SError_Name InvalidNameError
- | SError_Path InvalidPathError
- | SError_Signature String
- runSerialT :: Monad m => r -> SerialT r e m a -> m (Either e a)
- runG :: NixSerializer r e a -> r -> ByteString -> Either (GetSerializerError e) a
- runP :: NixSerializer r e a -> r -> a -> Either e ByteString
- int :: Integral a => NixSerializer r e a
- bool :: NixSerializer r SError Bool
- byteString :: NixSerializer r SError ByteString
- enum :: (Bounded a, Enum a) => NixSerializer r SError a
- text :: NixSerializer r SError Text
- maybeText :: NixSerializer r SError (Maybe Text)
- time :: NixSerializer r e UTCTime
- list :: NixSerializer r e a -> NixSerializer r e [a]
- set :: Ord a => NixSerializer r e a -> NixSerializer r e (Set a)
- hashSet :: (Eq a, Hashable a) => NixSerializer r e a -> NixSerializer r e (HashSet a)
- mapS :: Ord k => NixSerializer r e k -> NixSerializer r e v -> NixSerializer r e (Map k v)
- vector :: Ord a => NixSerializer r e a -> NixSerializer r e (Vector a)
- json :: (FromJSON a, ToJSON a) => NixSerializer r SError a
- protoVersion :: NixSerializer r e ProtoVersion
- storePath :: HasStoreDir r => NixSerializer r SError StorePath
- maybePath :: HasStoreDir r => NixSerializer r SError (Maybe StorePath)
- storePathHashPart :: NixSerializer r SError StorePathHashPart
- storePathName :: NixSerializer r SError StorePathName
- pathMetadata :: HasStoreDir r => NixSerializer r SError (Metadata StorePath)
- outputName :: NixSerializer r SError OutputName
- signature :: NixSerializer r SError Signature
- narSignature :: NixSerializer r SError NarSignature
- someHashAlgo :: NixSerializer r SError (Some HashAlgo)
- digest :: forall a r. HashAlgorithm a => BaseEncoding -> NixSerializer r SError (Digest a)
- namedDigest :: NixSerializer r SError (DSum HashAlgo Digest)
- derivation :: HasStoreDir r => NixSerializer r SError (Derivation StorePath Text)
- derivedPath :: (HasProtoVersion r, HasStoreDir r) => NixSerializer r SError DerivedPath
- buildMode :: NixSerializer r SError BuildMode
- data LoggerSError
- activityID :: NixSerializer r LoggerSError ActivityID
- maybeActivity :: NixSerializer r LoggerSError (Maybe Activity)
- activity :: NixSerializer r LoggerSError Activity
- activityResult :: NixSerializer r LoggerSError ActivityResult
- field :: NixSerializer r LoggerSError Field
- trace :: NixSerializer r LoggerSError Trace
- basicError :: NixSerializer r LoggerSError BasicError
- errorInfo :: NixSerializer r LoggerSError ErrorInfo
- loggerOpCode :: NixSerializer r LoggerSError LoggerOpCode
- logger :: HasProtoVersion r => NixSerializer r LoggerSError Logger
- verbosity :: NixSerializer r LoggerSError Verbosity
- data HandshakeSError
- workerMagic :: NixSerializer r HandshakeSError WorkerMagic
- trustedFlag :: NixSerializer r HandshakeSError (Maybe TrustedFlag)
- storeText :: NixSerializer r SError StoreText
- workerOp :: NixSerializer r SError WorkerOp
- data RequestSError
- storeRequest :: (HasProtoVersion r, HasStoreDir r) => NixSerializer r RequestSError (Some StoreRequest)
- data ReplySError
- opSuccess :: NixSerializer r ReplySError SuccessCodeReply
- noop :: a -> NixSerializer r ReplySError a
- derivationOutputTyped :: NixSerializer r ReplySError (DerivationOutput OutputName)
- realisation :: NixSerializer r ReplySError Realisation
- realisationWithId :: NixSerializer r ReplySError RealisationWithId
- buildResult :: (HasProtoVersion r, HasStoreDir r) => NixSerializer r ReplySError BuildResult
- gcResult :: HasStoreDir r => NixSerializer r ReplySError GCResult
- gcRoot :: NixSerializer r ReplySError GCRoot
- missing :: HasStoreDir r => NixSerializer r ReplySError Missing
- maybePathMetadata :: HasStoreDir r => NixSerializer r ReplySError (Maybe (Metadata StorePath))
NixSerializer
type NixSerializer r e = Serializer (SerialT r e) Source #
mapReaderS :: (r' -> r) -> NixSerializer r e a -> NixSerializer r' e a Source #
mapErrorS :: (e -> e') -> NixSerializer r e a -> NixSerializer r e' a Source #
Errors
Constructors
Runners
runSerialT :: Monad m => r -> SerialT r e m a -> m (Either e a) Source #
Runner for SerialT
runG :: NixSerializer r e a -> r -> ByteString -> Either (GetSerializerError e) a Source #
runP :: NixSerializer r e a -> r -> a -> Either e ByteString Source #
Primitives
int :: Integral a => NixSerializer r e a Source #
UTCTime
time :: NixSerializer r e UTCTime Source #
Combinators
list :: NixSerializer r e a -> NixSerializer r e [a] Source #
set :: Ord a => NixSerializer r e a -> NixSerializer r e (Set a) Source #
hashSet :: (Eq a, Hashable a) => NixSerializer r e a -> NixSerializer r e (HashSet a) Source #
mapS :: Ord k => NixSerializer r e k -> NixSerializer r e v -> NixSerializer r e (Map k v) Source #
vector :: Ord a => NixSerializer r e a -> NixSerializer r e (Vector a) Source #
ProtoVersion
protoVersion :: NixSerializer r e ProtoVersion Source #
StorePath
storePath :: HasStoreDir r => NixSerializer r SError StorePath Source #
maybePath :: HasStoreDir r => NixSerializer r SError (Maybe StorePath) Source #
Metadata
pathMetadata :: HasStoreDir r => NixSerializer r SError (Metadata StorePath) Source #
OutputName
Signatures
Some HashAlgo
someHashAlgo :: NixSerializer r SError (Some HashAlgo) Source #
Digest
digest :: forall a r. HashAlgorithm a => BaseEncoding -> NixSerializer r SError (Digest a) Source #
DSum HashAlgo Digest
namedDigest :: NixSerializer r SError (DSum HashAlgo Digest) Source #
Derivation
derivation :: HasStoreDir r => NixSerializer r SError (Derivation StorePath Text) Source #
Derivation
derivedPath :: (HasProtoVersion r, HasStoreDir r) => NixSerializer r SError DerivedPath Source #
Build
Logger
data LoggerSError Source #
Constructors
LoggerSError_Prim SError | |
LoggerSError_InvalidOpCode Word64 | |
LoggerSError_TooOldForErrorInfo | |
LoggerSError_TooNewForBasicError | |
LoggerSError_UnknownLogFieldType Word8 |
Instances
logger :: HasProtoVersion r => NixSerializer r LoggerSError Logger Source #
Handshake
data HandshakeSError Source #
Instances
Worker protocol
Request
data RequestSError Source #
Constructors
RequestSError_NotYetImplemented WorkerOp | |
RequestSError_ReservedOp WorkerOp | |
RequestSError_PrimGet SError | |
RequestSError_PrimPut SError | |
RequestSError_PrimWorkerOp SError |
Instances
storeRequest :: (HasProtoVersion r, HasStoreDir r) => NixSerializer r RequestSError (Some StoreRequest) Source #
Reply
data ReplySError Source #
Constructors
Instances
opSuccess :: NixSerializer r ReplySError SuccessCodeReply Source #
Parse a bool returned at the end of simple operations.
This is always 1 (True
) so we assert that it really is so.
Errors for these operations are indicated via Logger_Error
.
noop :: a -> NixSerializer r ReplySError a Source #
Realisation
BuildResult
buildResult :: (HasProtoVersion r, HasStoreDir r) => NixSerializer r ReplySError BuildResult Source #
GCResult
gcResult :: HasStoreDir r => NixSerializer r ReplySError GCResult Source #
GCResult
Missing
missing :: HasStoreDir r => NixSerializer r ReplySError Missing Source #
Maybe (Metadata StorePath)
maybePathMetadata :: HasStoreDir r => NixSerializer r ReplySError (Maybe (Metadata StorePath)) Source #