summaryrefslogtreecommitdiff
path: root/dht/src/Network/Tox/Onion/Routes.hs
diff options
context:
space:
mode:
authorJoe Crayne <joe@jerkface.net>2019-12-14 16:11:03 -0500
committerJoe Crayne <joe@jerkface.net>2020-01-01 23:26:49 -0500
commitd5efdc327bbb69a905043df45415817e318e38ee (patch)
tree7be975048f3e40c27811bdb39ba92d871a42588c /dht/src/Network/Tox/Onion/Routes.hs
parent8c04d9cca70241bebe4b94b779fe7bbfe6140f51 (diff)
Multi Transports: TCP for DHT/Cookies/Handshakes.
Diffstat (limited to 'dht/src/Network/Tox/Onion/Routes.hs')
-rw-r--r--dht/src/Network/Tox/Onion/Routes.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/dht/src/Network/Tox/Onion/Routes.hs b/dht/src/Network/Tox/Onion/Routes.hs
index d61c721e..baca693b 100644
--- a/dht/src/Network/Tox/Onion/Routes.hs
+++ b/dht/src/Network/Tox/Onion/Routes.hs
@@ -84,7 +84,7 @@ data OnionRouter = OnionRouter
84 , tcpKademliaClient :: TCP.TCPClient String Nonce8 84 , tcpKademliaClient :: TCP.TCPClient String Nonce8
85 -- | This thread maintains the TCP relay table. 85 -- | This thread maintains the TCP relay table.
86 , tcpKademliaThread :: ThreadId 86 , tcpKademliaThread :: ThreadId
87 , tcpProberState :: TCPCache (SessionProtocol TCP.RelayPacket TCP.RelayPacket) 87 , tcpProberState :: TCP.RelayCache
88 , tcpProber :: TCP.TCPProber 88 , tcpProber :: TCP.TCPProber
89 , tcpProberThread :: ThreadId 89 , tcpProberThread :: ThreadId
90 -- | Kademlia table of TCP relays. 90 -- | Kademlia table of TCP relays.
@@ -158,6 +158,7 @@ newOnionRouter :: TransportCrypto
158 -> (String -> IO ()) 158 -> (String -> IO ())
159 -> Bool -- is tcp enabled? 159 -> Bool -- is tcp enabled?
160 -> IO ( OnionRouter 160 -> IO ( OnionRouter
161 , Transport String TCP.ViaRelay B.ByteString
161 , TVar ( ChaChaDRG 162 , TVar ( ChaChaDRG
162 , Word64Map (Either (Maybe (Bool,TCP.RelayPacket) -> IO ()) 163 , Word64Map (Either (Maybe (Bool,TCP.RelayPacket) -> IO ())
163 (Maybe (OnionMessage Identity) -> IO ())))) 164 (Maybe (OnionMessage Identity) -> IO ()))))
@@ -168,7 +169,7 @@ newOnionRouter crypto perror tcp_enabled = do
168 pq <- newTVar W64.empty 169 pq <- newTVar W64.empty
169 rm <- newArray (0,11) Nothing 170 rm <- newArray (0,11) Nothing
170 return (rlog,pq,rm) 171 return (rlog,pq,rm)
171 ((tbl,(tcptbl,tcpcons)),tcp) <- do 172 ((tbl,(tcptbl,tcpcons,relaynet)),tcp) <- do
172 (tcptbl, client) <- TCP.newClient crypto Left $ \case 173 (tcptbl, client) <- TCP.newClient crypto Left $ \case
173 Left v -> void . v . Just . (,) False 174 Left v -> void . v . Just . (,) False
174 Right v -> \case 175 Right v -> \case
@@ -268,7 +269,7 @@ newOnionRouter crypto perror tcp_enabled = do
268 $ clientNet c } 269 $ clientNet c }
269 } 270 }
270 } 271 }
271 return (or,tcptbl) 272 return (or,relaynet,tcptbl)
272 273
273updateTCP :: OnionRouter -> TCP.NodeInfo -> p -> IO () 274updateTCP :: OnionRouter -> TCP.NodeInfo -> p -> IO ()
274updateTCP or addr x = do 275updateTCP or addr x = do