summaryrefslogtreecommitdiff
path: root/dht/src/Network/Tox/Onion/Routes.hs
diff options
context:
space:
mode:
Diffstat (limited to 'dht/src/Network/Tox/Onion/Routes.hs')
-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)