From 05e750fef5cdf54ffa9e28f2a40286efcaa988a0 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 1 Jun 2018 23:53:35 -0400 Subject: Separate functions for cryptoNetHandler cases. --- src/Network/Tox/Crypto/Handlers.hs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/Network') diff --git a/src/Network/Tox/Crypto/Handlers.hs b/src/Network/Tox/Crypto/Handlers.hs index dcae9f2f..bde286fe 100644 --- a/src/Network/Tox/Crypto/Handlers.hs +++ b/src/Network/Tox/Crypto/Handlers.hs @@ -669,9 +669,12 @@ updateCryptoSession sessions addr hp session = do then freshCryptoSession sessions addr hp -- basenonce mismatch, trigger refresh else atomically $ writeTVar (ncState session) {-Accepted-}(InProgress AwaitingSessionPacket) - cryptoNetHandler :: NetCryptoSessions -> SockAddr -> NetCrypto -> IO (Maybe (NetCrypto -> NetCrypto)) -cryptoNetHandler sessions addr (NetHandshake (Handshake (Cookie n24 ecookie) nonce24 encrypted)) = do +cryptoNetHandler sessions addr (NetHandshake hs) = handshakeH sessions addr hs +cryptoNetHandler sessions addr (NetCrypto pkt) = sessionPacketH sessions addr pkt + +handshakeH :: NetCryptoSessions -> SockAddr -> Handshake Encrypted -> IO (Maybe a) +handshakeH sessions addr (Handshake (Cookie n24 ecookie) nonce24 encrypted) = do dput XNetCrypto ("RECIEVED HANDSHAKE from " ++ show addr) -- Handle Handshake Message let crypto = transportCrypto sessions @@ -746,7 +749,8 @@ cryptoNetHandler sessions addr (NetHandshake (Handshake (Cookie n24 ecookie) non updateCryptoSession sessions addr hp session -- update existing session return Nothing -cryptoNetHandler sessions addr (NetCrypto (CryptoPacket nonce16 encrypted)) = do +sessionPacketH :: NetCryptoSessions -> SockAddr -> CryptoPacket Encrypted -> IO (Maybe (x -> x)) +sessionPacketH sessions addr (CryptoPacket nonce16 encrypted) = do dput XNetCrypto ("RECIEVED CRYPTOPACKET from " ++ show addr) let crypto = transportCrypto sessions allsessions = netCryptoSessions sessions -- cgit v1.2.3