diff options
Diffstat (limited to 'dht/src')
-rw-r--r-- | dht/src/Data/Tox/Message.hs | 14 | ||||
-rw-r--r-- | dht/src/Network/Lossless.hs | 6 | ||||
-rw-r--r-- | dht/src/Network/Tox.hs | 2 | ||||
-rw-r--r-- | dht/src/Network/Tox/ContactInfo.hs | 3 | ||||
-rw-r--r-- | dht/src/Network/Tox/Onion/Routes.hs | 2 |
5 files changed, 14 insertions, 13 deletions
diff --git a/dht/src/Data/Tox/Message.hs b/dht/src/Data/Tox/Message.hs index 9f1ce339..93750f90 100644 --- a/dht/src/Data/Tox/Message.hs +++ b/dht/src/Data/Tox/Message.hs | |||
@@ -9,11 +9,11 @@ import Data.Word | |||
9 | 9 | ||
10 | -- | The one-byte type code prefix that classifies a 'CryptoMessage'. | 10 | -- | The one-byte type code prefix that classifies a 'CryptoMessage'. |
11 | newtype MessageID = MessageID Word8 deriving (Eq,Enum,Ord,Bounded) | 11 | newtype MessageID = MessageID Word8 deriving (Eq,Enum,Ord,Bounded) |
12 | pattern Padding = MessageID 0 -- ^ 0 padding (skipped until we hit a non zero (data id) byte) | 12 | pattern Padding = MessageID 0 -- 0 padding (skipped until we hit a non zero (data id) byte) |
13 | pattern PacketRequest = MessageID 1 -- ^ 1 packet request packet (lossy packet) | 13 | pattern PacketRequest = MessageID 1 -- 1 packet request packet (lossy packet) |
14 | pattern KillPacket = MessageID 2 -- ^ 2 connection kill packet (lossy packet) | 14 | pattern KillPacket = MessageID 2 -- 2 connection kill packet (lossy packet) |
15 | pattern UnspecifiedPacket003 = MessageID 3 -- ^ 3+ unspecified | 15 | pattern UnspecifiedPacket003 = MessageID 3 -- 3+ unspecified |
16 | pattern PING = MessageID 16 -- ^ 16+ reserved for Messenger usage (lossless packets) | 16 | pattern PING = MessageID 16 -- 16+ reserved for Messenger usage (lossless packets) |
17 | -- TODO: rename to ALIVE 16 | 17 | -- TODO: rename to ALIVE 16 |
18 | -- SHARE_RELAYS 17 | 18 | -- SHARE_RELAYS 17 |
19 | -- FRIEND_REQUESTS 18 | 19 | -- FRIEND_REQUESTS 18 |
@@ -40,9 +40,9 @@ pattern DIRECT_GROUPCHAT = MessageID 98 -- 0x62 | |||
40 | pattern MESSAGE_GROUPCHAT = MessageID 99 -- 0x63 | 40 | pattern MESSAGE_GROUPCHAT = MessageID 99 -- 0x63 |
41 | -- TODO: rename to MESSAGE_CONFERENCE 99 | 41 | -- TODO: rename to MESSAGE_CONFERENCE 99 |
42 | -- LOSSLESS_RANGE_START 160 | 42 | -- LOSSLESS_RANGE_START 160 |
43 | pattern MessengerLossy192 = MessageID 192 -- ^ 192+ reserved for Messenger usage (lossy packets) | 43 | pattern MessengerLossy192 = MessageID 192 -- 192+ reserved for Messenger usage (lossy packets) |
44 | pattern LOSSY_GROUPCHAT = MessageID 199 -- 0xC7 | 44 | pattern LOSSY_GROUPCHAT = MessageID 199 -- 0xC7 |
45 | pattern Messenger255 = MessageID 255 -- ^ 255 reserved for Messenger usage (lossless packet) | 45 | pattern Messenger255 = MessageID 255 -- 255 reserved for Messenger usage (lossless packet) |
46 | 46 | ||
47 | instance Show MessageID where | 47 | instance Show MessageID where |
48 | show Padding = "Padding" | 48 | show Padding = "Padding" |
diff --git a/dht/src/Network/Lossless.hs b/dht/src/Network/Lossless.hs index 079f4d07..41203ca5 100644 --- a/dht/src/Network/Lossless.hs +++ b/dht/src/Network/Lossless.hs | |||
@@ -49,9 +49,9 @@ lossless :: Show addr => | |||
49 | -> addr -- ^ The remote address for this session. | 49 | -> addr -- ^ The remote address for this session. |
50 | -> TransportA String addr x y -- ^ An unreliable lossy transport. | 50 | -> TransportA String addr x y -- ^ An unreliable lossy transport. |
51 | 51 | ||
52 | -> IO ( Transport String addr' x' -- ^ A reliable lossless transport. | 52 | -> IO ( Transport String addr' x' -- A reliable lossless transport. |
53 | , [Word32] -> IO () -- ^ Use this to request lost packets be re-sent. | 53 | , [Word32] -> IO () -- Use this to request lost packets be re-sent. |
54 | , IO ([Word32],Word32) -- ^ Use this to discover missing packets to request. | 54 | , IO ([Word32],Word32) -- Use this to discover missing packets to request. |
55 | ) | 55 | ) |
56 | lossless lbl isLossless encode saddr udp = do | 56 | lossless lbl isLossless encode saddr udp = do |
57 | pb <- atomically newPacketBuffer | 57 | pb <- atomically newPacketBuffer |
diff --git a/dht/src/Network/Tox.hs b/dht/src/Network/Tox.hs index 23dbfe27..1628b435 100644 --- a/dht/src/Network/Tox.hs +++ b/dht/src/Network/Tox.hs | |||
@@ -392,7 +392,7 @@ newToxOverTransport keydb addr onNewSession (crypto,roster) udp tcp = do | |||
392 | return (msg, maybe (Multi.OnionUDP ==> addr) (const $ Multi.OnionTCP ==> addr) mtcp)) | 392 | return (msg, maybe (Multi.OnionUDP ==> addr) (const $ Multi.OnionTCP ==> addr) mtcp)) |
393 | <$> mergeTransports (DMap.fromList | 393 | <$> mergeTransports (DMap.fromList |
394 | [ Multi.OnionUDP :=> ByAddress onioncryptUDP | 394 | [ Multi.OnionUDP :=> ByAddress onioncryptUDP |
395 | , Multi.OnionTCP :=> ByAddress {- $ onInbound updateOnTCP -} onioncryptTCP ]) | 395 | , Multi.OnionTCP :=> ByAddress {- onInbound updateOnTCP -} onioncryptTCP ]) |
396 | 396 | ||
397 | -- dtacrypt :: Transport String AnnouncedRendezvous (PublicKey,OnionData) | 397 | -- dtacrypt :: Transport String AnnouncedRendezvous (PublicKey,OnionData) |
398 | (dtacrypt,onioncrypt) <- partitionTransportM (Onion.parseDataToRoute crypto) (Onion.encodeDataToRoute crypto) onioncrypt | 398 | (dtacrypt,onioncrypt) <- partitionTransportM (Onion.parseDataToRoute crypto) (Onion.encodeDataToRoute crypto) onioncrypt |
diff --git a/dht/src/Network/Tox/ContactInfo.hs b/dht/src/Network/Tox/ContactInfo.hs index e7cb48c1..d5640ce8 100644 --- a/dht/src/Network/Tox/ContactInfo.hs +++ b/dht/src/Network/Tox/ContactInfo.hs | |||
@@ -18,8 +18,9 @@ import DPut | |||
18 | import DebugTag | 18 | import DebugTag |
19 | 19 | ||
20 | newtype ContactInfo extra = ContactInfo | 20 | newtype ContactInfo extra = ContactInfo |
21 | { | ||
21 | -- | Map our toxid public key to an Account record. | 22 | -- | Map our toxid public key to an Account record. |
22 | { accounts :: TVar (HashMap NodeId{-my userkey-} (Account extra)) | 23 | accounts :: TVar (HashMap NodeId{-my userkey-} (Account extra)) |
23 | } | 24 | } |
24 | 25 | ||
25 | data Account extra = Account | 26 | data Account extra = Account |
diff --git a/dht/src/Network/Tox/Onion/Routes.hs b/dht/src/Network/Tox/Onion/Routes.hs index 2f13a513..374b9648 100644 --- a/dht/src/Network/Tox/Onion/Routes.hs +++ b/dht/src/Network/Tox/Onion/Routes.hs | |||
@@ -276,7 +276,7 @@ updateTCP or addr x = do | |||
276 | selectGateway :: TVar (R.BucketList TCP.NodeInfo) -> NodeInfo -> STM (Maybe TCP.NodeInfo) | 276 | selectGateway :: TVar (R.BucketList TCP.NodeInfo) -> NodeInfo -> STM (Maybe TCP.NodeInfo) |
277 | selectGateway tbl ni = do | 277 | selectGateway tbl ni = do |
278 | ns <- kclosest TCP.tcpSpace 2 (nodeId ni) <$> readTVar tbl | 278 | ns <- kclosest TCP.tcpSpace 2 (nodeId ni) <$> readTVar tbl |
279 | return $ listToMaybe ns -- $ dropWhile (\n -> TCP.nodeId n == nodeId ni) ns | 279 | return $ listToMaybe ns -- dropWhile (\n -> TCP.nodeId n == nodeId ni) ns |
280 | 280 | ||
281 | quitRouteBuilder :: OnionRouter -> IO () | 281 | quitRouteBuilder :: OnionRouter -> IO () |
282 | quitRouteBuilder or = do | 282 | quitRouteBuilder or = do |