summaryrefslogtreecommitdiff
path: root/dht/src/Network/Tox/TCP.hs
diff options
context:
space:
mode:
Diffstat (limited to 'dht/src/Network/Tox/TCP.hs')
-rw-r--r--dht/src/Network/Tox/TCP.hs10
1 files changed, 5 insertions, 5 deletions
diff --git a/dht/src/Network/Tox/TCP.hs b/dht/src/Network/Tox/TCP.hs
index 9f0af976..0850ce51 100644
--- a/dht/src/Network/Tox/TCP.hs
+++ b/dht/src/Network/Tox/TCP.hs
@@ -46,7 +46,7 @@ import DPut
46import Network.Address (setPort,PortNumber,localhost4,fromSockAddr,nullAddress4) 46import Network.Address (setPort,PortNumber,localhost4,fromSockAddr,nullAddress4)
47import Network.Kademlia.Routing 47import Network.Kademlia.Routing
48import Network.Kademlia.Search hiding (sendQuery) 48import Network.Kademlia.Search hiding (sendQuery)
49import Network.QueryResponse 49import Network.QueryResponse as QR
50import Network.QueryResponse.TCP 50import Network.QueryResponse.TCP
51import Network.Tox.TCP.NodeId () 51import Network.Tox.TCP.NodeId ()
52import Network.Tox.DHT.Transport (toxSpace) 52import Network.Tox.DHT.Transport (toxSpace)
@@ -226,7 +226,7 @@ getUDPNodes tcp seeking dst = fmap fst <$> getUDPNodes' tcp seeking dst
226getUDPNodes' :: TCPClient err Nonce8 -> NodeId -> UDP.NodeInfo -> IO (Maybe (([UDP.NodeInfo], [UDP.NodeInfo], Maybe ()), NodeInfo)) 226getUDPNodes' :: TCPClient err Nonce8 -> NodeId -> UDP.NodeInfo -> IO (Maybe (([UDP.NodeInfo], [UDP.NodeInfo], Maybe ()), NodeInfo))
227getUDPNodes' tcp seeking dst0 = do 227getUDPNodes' tcp seeking dst0 = do
228 mgateway <- atomically $ tcpGetGateway tcp dst0 228 mgateway <- atomically $ tcpGetGateway tcp dst0
229 fmap join $ forM mgateway $ \gateway -> do 229 fmap (join . fmap resultToMaybe) $ forM mgateway $ \gateway -> do
230 (b,c,n24) <- atomically $ do 230 (b,c,n24) <- atomically $ do
231 b <- transportNewKey (tcpCrypto tcp) 231 b <- transportNewKey (tcpCrypto tcp)
232 c <- transportNewKey (tcpCrypto tcp) 232 c <- transportNewKey (tcpCrypto tcp)
@@ -284,7 +284,7 @@ handle2route o src dst = do
284tcpPing :: Show addr => Client err PacketNumber Nonce8 addr (Bool,RelayPacket) -> addr -> IO (Maybe ()) 284tcpPing :: Show addr => Client err PacketNumber Nonce8 addr (Bool,RelayPacket) -> addr -> IO (Maybe ())
285tcpPing client dst = do 285tcpPing client dst = do
286 dput XTCP $ "tcpPing " ++ show dst 286 dput XTCP $ "tcpPing " ++ show dst
287 sendQuery client meth () dst 287 resultToMaybe <$> sendQuery client meth () dst
288 where meth = MethodSerializer 288 where meth = MethodSerializer
289 { wrapQuery = \n8 src dst () -> (True,RelayPing n8) 289 { wrapQuery = \n8 src dst () -> (True,RelayPing n8)
290 , unwrapResponse = \_ -> () 290 , unwrapResponse = \_ -> ()
@@ -295,7 +295,7 @@ tcpPing client dst = do
295tcpConnectionRequest_ :: Client err PacketNumber tid addr (Bool, RelayPacket) 295tcpConnectionRequest_ :: Client err PacketNumber tid addr (Bool, RelayPacket)
296 -> PublicKey -> addr -> IO (Maybe ConId) 296 -> PublicKey -> addr -> IO (Maybe ConId)
297tcpConnectionRequest_ client pubkey ni = do 297tcpConnectionRequest_ client pubkey ni = do
298 sendQuery client meth pubkey ni 298 resultToMaybe <$> sendQuery client meth pubkey ni
299 where 299 where
300 meth = MethodSerializer 300 meth = MethodSerializer
301 { wrapQuery = \n8 src dst pubkey -> (True,RoutingRequest pubkey) 301 { wrapQuery = \n8 src dst pubkey -> (True,RoutingRequest pubkey)
@@ -319,7 +319,7 @@ type RelayCache = TCPCache (SessionProtocol (SessionData,RelayPacket) RelayPacke
319-- defaults are 'id' and 'tryPutMVar'. The resulting customized table state 319-- defaults are 'id' and 'tryPutMVar'. The resulting customized table state
320-- will be returned to the caller along with the new client. 320-- will be returned to the caller along with the new client.
321newClient :: TransportCrypto 321newClient :: TransportCrypto
322 -> ((Maybe (Bool,RelayPacket) -> IO ()) -> a) -- ^ store mvar for relay query 322 -> ((QR.Result (Bool,RelayPacket) -> IO ()) -> a) -- ^ store mvar for relay query
323 -> (a -> RelayPacket -> IO void) -- ^ load mvar for relay query 323 -> (a -> RelayPacket -> IO void) -- ^ load mvar for relay query
324 -> (SockAddr -> Nonce8 -> IO (Maybe (OnionDestination RouteId))) -- ^ lookup sender of onion query 324 -> (SockAddr -> Nonce8 -> IO (Maybe (OnionDestination RouteId))) -- ^ lookup sender of onion query
325 -> (UDP.NodeInfo -> RouteId -> IO (Maybe OnionRoute)) -- ^ lookup OnionRoute by id 325 -> (UDP.NodeInfo -> RouteId -> IO (Maybe OnionRoute)) -- ^ lookup OnionRoute by id