diff options
Diffstat (limited to 'server/src/Connection.hs')
-rw-r--r-- | server/src/Connection.hs | 8 |
1 files changed, 8 insertions, 0 deletions
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 | |||
7 | import Control.Concurrent.STM | 7 | import Control.Concurrent.STM |
8 | import Data.Bits | 8 | import Data.Bits |
9 | import Data.Word | 9 | import Data.Word |
10 | import Data.List | ||
10 | import qualified Data.Map as Map | 11 | import qualified Data.Map as Map |
11 | ;import Data.Map (Map) | 12 | ;import Data.Map (Map) |
12 | import Network.Socket (SockAddr(..)) | 13 | import Network.Socket (SockAddr(..)) |
@@ -132,4 +133,11 @@ addManagers mgrA mgrB = Manager | |||
132 | <|> Right <$> stringToKey mgrB str | 133 | <|> Right <$> stringToKey mgrB str |
133 | , showProgress = either (showProgress mgrA) (showProgress mgrB) | 134 | , showProgress = either (showProgress mgrA) (showProgress mgrB) |
134 | , showKey = either (showKey mgrA) (showKey mgrB) | 135 | , showKey = either (showKey mgrA) (showKey mgrB) |
136 | , resolvePeer = \case | ||
137 | Left k -> resolvePeer mgrA k | ||
138 | Right k -> resolvePeer mgrB k | ||
139 | , reverseAddress = \peerAddress -> do { xs <- map Left <$> reverseAddress mgrA peerAddress | ||
140 | ; ys <- map Right <$> reverseAddress mgrB peerAddress | ||
141 | ; return (concat . transpose $ [xs,ys]) | ||
142 | } | ||
135 | } | 143 | } |