From 8a48d08abd64019ef9276e309fd90e8ae2905930 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 22 Jul 2024 16:49:05 -0400 Subject: [PATCH] refactor --- P2P/Http.hs | 55 ++++++++++++++++++++++------------------------------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/P2P/Http.hs b/P2P/Http.hs index 46f1992b2d..330d5a96cc 100644 --- a/P2P/Http.hs +++ b/P2P/Http.hs @@ -866,33 +866,6 @@ serveKeepLocked st su apiver lckid cu _ _ _ unlockrequeststream = do go (S.Yield (UnlockRequest False) s) = go s go (S.Yield (UnlockRequest True) _) = dropLock lckid st -clientKeepLocked' - :: B64UUID ServerSide - -> ProtocolVersion - -> LockID - -> B64UUID ClientSide - -> [B64UUID Bypass] - -> Maybe ConnectionKeepAlive - -> Maybe KeepAlive - -> S.SourceT IO UnlockRequest - -> ClientM LockResult -clientKeepLocked' su (ProtocolVersion ver) = case ver of - 3 -> v3 su V3 - 2 -> v2 su V2 - 1 -> v1 su V1 - 0 -> v0 su V0 - _ -> error "unsupported protocol version" - where - _ :<|> _ :<|> _ :<|> _ :<|> - _ :<|> _ :<|> _ :<|> _ :<|> - _ :<|> _ :<|> _ :<|> _ :<|> - _ :<|> - _ :<|> - _ :<|> _ :<|> _ :<|> _ :<|> - _ :<|> _ :<|> _ :<|> - _ :<|> _ :<|> _ :<|> _ :<|> - v3 :<|> v2 :<|> v1 :<|> v0 :<|> _ = client p2pHttpAPI - clientKeepLocked :: ClientEnv -> ProtocolVersion @@ -902,11 +875,8 @@ clientKeepLocked -> [B64UUID Bypass] -> TMVar Bool -> IO () -clientKeepLocked clientenv protover lckid cu su bypass keeplocked = do - let cli = clientKeepLocked' su protover lckid cu bypass - (Just connectionKeepAlive) (Just keepAlive) - (S.fromStepT unlocksender) - withClientM cli clientenv $ \case +clientKeepLocked clientenv (ProtocolVersion ver) lckid cu su bypass keeplocked = do + withClientM cli' clientenv $ \case Left err -> throwM err Right (LockResult _ _) -> liftIO $ print "end of lock connection to server" @@ -922,6 +892,27 @@ clientKeepLocked clientenv protover lckid cu su bypass keeplocked = do liftIO $ print "sending unlock request" return $ S.Yield (UnlockRequest True) S.Stop + cli' = cli lckid cu bypass + (Just connectionKeepAlive) (Just keepAlive) + (S.fromStepT unlocksender) + + cli = case ver of + 3 -> v3 su V3 + 2 -> v2 su V2 + 1 -> v1 su V1 + 0 -> v0 su V0 + _ -> error "unsupported protocol version" + + _ :<|> _ :<|> _ :<|> _ :<|> + _ :<|> _ :<|> _ :<|> _ :<|> + _ :<|> _ :<|> _ :<|> _ :<|> + _ :<|> + _ :<|> + _ :<|> _ :<|> _ :<|> _ :<|> + _ :<|> _ :<|> _ :<|> + _ :<|> _ :<|> _ :<|> _ :<|> + v3 :<|> v2 :<|> v1 :<|> v0 :<|> _ = client p2pHttpAPI + type PV3 = Capture "v3" V3 type PV2 = Capture "v2" V2