maintain pools of running transferkeys processes (untested)

This commit is contained in:
Joey Hess 2013-03-19 18:46:29 -04:00
parent ef3221181d
commit b6d691aff7
7 changed files with 178 additions and 86 deletions

View file

@ -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"