From 4887b1b3afd8acf58602d622499664ffb777a8b1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 19 Mar 2013 18:46:29 -0400 Subject: maintain pools of running transferkeys processes (untested) --- Command/TransferKeys.hs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'Command/TransferKeys.hs') 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" -- cgit v1.2.3