From 8db413d9a903f6f603b078f86f80a38306b9034d Mon Sep 17 00:00:00 2001 From: James Crayne Date: Fri, 24 Jan 2020 09:26:37 +0000 Subject: resolvePeer,reverseAddress for sum of Managers --- server/src/Connection.hs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/src/Connection.hs b/server/src/Connection.hs index ea86f4bb..140212f1 100644 --- a/server/src/Connection.hs +++ b/server/src/Connection.hs @@ -7,6 +7,7 @@ import Control.Arrow import Control.Concurrent.STM import Data.Bits import Data.Word +import Data.List import qualified Data.Map as Map ;import Data.Map (Map) import Network.Socket (SockAddr(..)) @@ -132,4 +133,11 @@ addManagers mgrA mgrB = Manager <|> Right <$> stringToKey mgrB str , showProgress = either (showProgress mgrA) (showProgress mgrB) , showKey = either (showKey mgrA) (showKey mgrB) + , resolvePeer = \case + Left k -> resolvePeer mgrA k + Right k -> resolvePeer mgrB k + , reverseAddress = \peerAddress -> do { xs <- map Left <$> reverseAddress mgrA peerAddress + ; ys <- map Right <$> reverseAddress mgrB peerAddress + ; return (concat . transpose $ [xs,ys]) + } } -- cgit v1.2.3