summaryrefslogtreecommitdiff
path: root/dht/src/Network/Tox/Onion
diff options
context:
space:
mode:
authorJoe Crayne <joe@jerkface.net>2020-01-28 14:55:26 -0500
committerJoe Crayne <joe@jerkface.net>2020-01-28 17:26:25 -0500
commit68cf0f1981ef94ecd94a0f9c657aa132165f7ed0 (patch)
tree358dfb9274a01e66032e7a25b04b589ffb6c3eae /dht/src/Network/Tox/Onion
parent292ed2811da7e56b7246eed37b949b1c9132e6c3 (diff)
Show route on failure to send dht key.
Diffstat (limited to 'dht/src/Network/Tox/Onion')
-rw-r--r--dht/src/Network/Tox/Onion/Routes.hs13
1 files changed, 13 insertions, 0 deletions
diff --git a/dht/src/Network/Tox/Onion/Routes.hs b/dht/src/Network/Tox/Onion/Routes.hs
index 93e9bfcd..987a56c2 100644
--- a/dht/src/Network/Tox/Onion/Routes.hs
+++ b/dht/src/Network/Tox/Onion/Routes.hs
@@ -566,6 +566,19 @@ lookupRoute or ni (RouteId rid) = do
566 mb <- atomically $ readArray (routeMap or) rid 566 mb <- atomically $ readArray (routeMap or) rid
567 return $ storedRoute <$> mb 567 return $ storedRoute <$> mb
568 568
569resolveRouteFromNodeId :: OnionRouter -> NodeId -> IO (RouteId,Maybe OnionRoute)
570resolveRouteFromNodeId or nid = do
571 let RouteId rid = routeId nid
572 mb <- atomically $ fmap storedRoute <$> readArray (routeMap or) rid
573 return (RouteId rid,mb)
574
575showRoute :: String -> OnionRoute -> [String]
576showRoute prefix r =
577 [ prefix ++ maybe (show $ routeNodeA r) (show . TCP.NodeInfo (routeNodeA r)) (routeRelayPort r)
578 , prefix ++ show (routeNodeB r)
579 , prefix ++ show (routeNodeC r)
580 ]
581
569lookupTimeout :: OnionRouter -> OnionDestination r -> STM (OnionDestination RouteId, Int) 582lookupTimeout :: OnionRouter -> OnionDestination r -> STM (OnionDestination RouteId, Int)
570lookupTimeout or (OnionDestination asel ni Nothing) = do 583lookupTimeout or (OnionDestination asel ni Nothing) = do
571 let RouteId rid = routeId (nodeId ni) 584 let RouteId rid = routeId (nodeId ni)