summaryrefslogtreecommitdiff
path: root/Command/TransferKeys.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-03-19 18:46:29 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-03-19 18:46:29 -0400
commit4887b1b3afd8acf58602d622499664ffb777a8b1 (patch)
tree16cd101c9a61320f5fbf1ca72f1a51f602f70824 /Command/TransferKeys.hs
parent28336756f9e97173ce922d02c6eeed4e01d07e57 (diff)
maintain pools of running transferkeys processes (untested)
Diffstat (limited to 'Command/TransferKeys.hs')
-rw-r--r--Command/TransferKeys.hs13
1 files changed, 8 insertions, 5 deletions
diff --git a/Command/TransferKeys.hs b/Command/TransferKeys.hs
index 61f99555d..93415d5f3 100644
--- a/Command/TransferKeys.hs
+++ b/Command/TransferKeys.hs
@@ -86,16 +86,19 @@ runRequests readh writeh a = go =<< readrequests
hPutStrLn writeh $ serialize b
hFlush writeh
-sendRequest :: TransferRequest -> Handle -> IO ()
-sendRequest (TransferRequest d r k f) h = do
+sendRequest :: Transfer -> AssociatedFile -> Handle -> IO ()
+sendRequest t f h = do
hPutStr h $ join fieldSep
- [ serialize d
- , serialize $ Remote.uuid r
- , serialize k
+ [ serialize (transferDirection t)
+ , serialize (transferUUID t)
+ , serialize (transferKey t)
, serialize f
]
hFlush h
+readResponse :: Handle -> IO Bool
+readResponse h = fromMaybe False . deserialize <$> hGetLine h
+
fieldSep :: String
fieldSep = "\0"