mirror of
https://github.com/haskell-nix/hnix-store.git
synced 2024-09-11 18:05:56 +03:00
remote: add preStoreConfigToStoreConfig, use in handshake
This commit is contained in:
parent
a8a4d66f6e
commit
ea49946a19
@ -26,7 +26,7 @@ import System.Nix.Store.Remote.Socket (sockPutS, sockGetS)
|
||||
import System.Nix.Store.Remote.Serializer (bool, enum, int, mapErrorS, protoVersion, text, trustedFlag, workerMagic)
|
||||
import System.Nix.Store.Remote.Types.Logger (Logger)
|
||||
import System.Nix.Store.Remote.Types.ProtoVersion (ProtoVersion(..), ourProtoVersion)
|
||||
import System.Nix.Store.Remote.Types.StoreConfig (PreStoreConfig(..), StoreConfig(..))
|
||||
import System.Nix.Store.Remote.Types.StoreConfig (PreStoreConfig, preStoreConfigToStoreConfig)
|
||||
import System.Nix.Store.Remote.Types.WorkerMagic (WorkerMagic(..))
|
||||
import System.Nix.Store.Remote.Types.WorkerOp (WorkerOp)
|
||||
|
||||
@ -83,7 +83,7 @@ runStoreSocket preStoreConfig code =
|
||||
runRemoteStoreT preStoreConfig $ do
|
||||
pv <- greet
|
||||
mapStoreConfig
|
||||
(\(PreStoreConfig a b) -> StoreConfig a pv b)
|
||||
(preStoreConfigToStoreConfig pv)
|
||||
code
|
||||
|
||||
where
|
||||
@ -141,9 +141,8 @@ runStoreSocket preStoreConfig code =
|
||||
return Nothing
|
||||
|
||||
-- TODO do something with it
|
||||
-- TODO patter match better
|
||||
_ <- mapStoreConfig
|
||||
(\(PreStoreConfig a b) -> StoreConfig a ourProtoVersion b)
|
||||
(preStoreConfigToStoreConfig minimumCommonVersion)
|
||||
processOutput
|
||||
|
||||
pure minimumCommonVersion
|
||||
|
@ -4,6 +4,7 @@ module System.Nix.Store.Remote.Types.StoreConfig
|
||||
, StoreConfig(..)
|
||||
, TestStoreConfig(..)
|
||||
, HasStoreSocket(..)
|
||||
, preStoreConfigToStoreConfig
|
||||
) where
|
||||
|
||||
import GHC.Generics (Generic)
|
||||
@ -56,3 +57,16 @@ instance HasProtoVersion TestStoreConfig where
|
||||
|
||||
instance HasStoreDir TestStoreConfig where
|
||||
hasStoreDir = testStoreConfig_dir
|
||||
|
||||
-- | Convert @PreStoreConfig@ to @StoreConfig@
|
||||
-- adding @ProtoVersion@ to latter
|
||||
preStoreConfigToStoreConfig
|
||||
:: ProtoVersion
|
||||
-> PreStoreConfig
|
||||
-> StoreConfig
|
||||
preStoreConfigToStoreConfig pv PreStoreConfig{..} =
|
||||
StoreConfig
|
||||
{ storeConfig_dir = preStoreConfig_dir
|
||||
, storeConfig_protoVersion = pv
|
||||
, storeConfig_socket = preStoreConfig_socket
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user