Skip to content

Commit 3dc7ab6

Browse files
committed
remote: add postGreet so we setStoreDir in Server as well
1 parent 4651980 commit 3dc7ab6

File tree

3 files changed

+19
-9
lines changed

3 files changed

+19
-9
lines changed

hnix-store-remote/src/System/Nix/Store/Remote.hs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ runStoreSocket sockFamily sockAddr code =
9494

9595
justdoit :: Run IO (Bool, Bool)
9696
justdoit = do
97-
runDaemonConnection handler (StoreConnection_Socket "/tmp/dsock") $
97+
runDaemonConnection handler (pure ()) (StoreConnection_Socket "/tmp/dsock") $
9898
runStoreConnection (StoreConnection_Socket "/tmp/dsock")
9999
$ do
100100
a <- isValidPath pth
@@ -124,6 +124,7 @@ runDaemon
124124
runDaemon workerHelper =
125125
runDaemonConnection
126126
workerHelper
127+
(pure ())
127128
def
128129

129130
-- | Run an emulated nix daemon using given @StoreConnection@
@@ -134,14 +135,15 @@ runDaemonConnection
134135
, MonadConc m
135136
)
136137
=> WorkerHelper m
138+
-> RemoteStoreT m ()
137139
-> StoreConnection
138140
-> m a
139141
-> m a
140-
runDaemonConnection workerHelper sc k =
142+
runDaemonConnection workerHelper postGreet sc k =
141143
connectionToSocket sc
142144
>>= \case
143145
Left e -> error $ show e
144-
Right (fam, sock) -> runDaemonSocket workerHelper fam sock k
146+
Right (fam, sock) -> runDaemonSocket workerHelper postGreet fam sock k
145147

146148
-- | Run an emulated nix daemon using given @StoreConnection@
147149
-- the deamon will close when the continuation returns.
@@ -151,11 +153,12 @@ runDaemonSocket
151153
, MonadConc m
152154
)
153155
=> WorkerHelper m
156+
-> RemoteStoreT m ()
154157
-> Family
155158
-> SockAddr
156159
-> m a
157160
-> m a
158-
runDaemonSocket workerHelper sockFamily sockAddr k =
161+
runDaemonSocket workerHelper postGreet sockFamily sockAddr k =
159162
Control.Monad.Catch.bracket
160163
(liftIO
161164
$ Network.Socket.socket
@@ -177,7 +180,7 @@ runDaemonSocket workerHelper sockFamily sockAddr k =
177180

178181
-- set up the listening socket
179182
liftIO $ Network.Socket.bind lsock sockAddr
180-
runProxyDaemon workerHelper lsock k
183+
runProxyDaemon workerHelper postGreet lsock k
181184

182185
connectionToSocket
183186
:: MonadIO m

hnix-store-remote/src/System/Nix/Store/Remote/Server.hs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,11 @@ runProxyDaemon
5050
, MonadConc m
5151
)
5252
=> WorkerHelper m
53+
-> RemoteStoreT m ()
5354
-> Socket
5455
-> m a
5556
-> m a
56-
runProxyDaemon workerHelper lsock k = do
57+
runProxyDaemon workerHelper postGreet lsock k = do
5758
liftIO $ listen lsock maxListenQueue
5859

5960
liftIO $ Data.Text.IO.putStrLn "listening"
@@ -66,7 +67,7 @@ runProxyDaemon workerHelper lsock k = do
6667
-- TODO: this, but without the space leak
6768
fmap fst
6869
$ concurrently listener
69-
$ processConnection workerHelper sock
70+
$ processConnection workerHelper postGreet sock
7071

7172
either absurd id <$> race listener k
7273

@@ -77,9 +78,10 @@ processConnection
7778
:: forall m
7879
. MonadIO m
7980
=> WorkerHelper m
81+
-> RemoteStoreT m ()
8082
-> Socket
8183
-> m ()
82-
processConnection workerHelper sock = do
84+
processConnection workerHelper postGreet sock = do
8385
~() <- void $ runRemoteStoreT sock $ do
8486

8587
ServerHandshakeOutput{..}
@@ -101,6 +103,9 @@ processConnection workerHelper sock = do
101103
--authHook(*store);
102104
stopWork tunnelLogger
103105

106+
-- so we can set store dir
107+
postGreet
108+
104109
let perform
105110
:: ( Show a
106111
, StoreReply a

hnix-store-remote/tests-io/NixDaemonSpec.hs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,9 @@ withManInTheMiddleNixDaemon action =
216216
. doReq
217217

218218
in action $ \(mstore :: RemoteStoreT m a) ->
219-
runDaemonConnection handler storeConn2
219+
runDaemonConnection handler
220+
(setStoreDir storeDir)
221+
storeConn2
220222
$ runStoreConnection storeConn2
221223
( setStoreDir storeDir
222224
>> mstore

0 commit comments

Comments
 (0)