summaryrefslogtreecommitdiff
path: root/src/Data
diff options
context:
space:
mode:
authorjim@bo <jim@bo>2018-06-21 20:05:50 -0400
committerjim@bo <jim@bo>2018-06-21 20:05:50 -0400
commit1391b2d5f332dbfc1e7e7fd2b7ff725caf785994 (patch)
treeb2e50e87f5bd1a3ba6b974ef23c5ee5dd5ea6446 /src/Data
parent2054427bb756c7b14056551b9bb3968a6c630187 (diff)
PacketRequest deserialize should match serialize
Diffstat (limited to 'src/Data')
-rw-r--r--src/Data/PacketQueue.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Data/PacketQueue.hs b/src/Data/PacketQueue.hs
index 8182706e..b5d8a756 100644
--- a/src/Data/PacketQueue.hs
+++ b/src/Data/PacketQueue.hs
@@ -220,11 +220,12 @@ getRequested getExtra pktoq snum ns = do
220 toIndex = (`mod` qsize (pktoOutPQ pktoq)) 220 toIndex = (`mod` qsize (pktoOutPQ pktoq))
221 221
222 toPNums :: Word32 -> [Word8] -> [Word32] 222 toPNums :: Word32 -> [Word8] -> [Word32]
223 toPNums snum ns = reverse . snd $ foldl doOne ((snum - 1),[]) ns 223 toPNums snum ns = reverse . snd $ foldl doOne (snum,[]) ns
224 where 224 where
225 doOne :: (Word32,[Word32]) -> Word8 -> (Word32,[Word32]) 225 doOne :: (Word32,[Word32]) -> Word8 -> (Word32,[Word32])
226 doOne (addend,as) 0 = (addend+255,as) 226 doOne (addend,as) 0 = (addend+255,as)
227 doOne (addend,as) x = (addend,(fromIntegral x + addend):as) 227 doOne (addend,as) x = let y = fromIntegral x + addend
228 in (y,y:as)
228 229
229peekPacket :: STM extra -> PacketOutQueue extra msg wire fromwire -> msg -> STM (Maybe (wire,Word32)) 230peekPacket :: STM extra -> PacketOutQueue extra msg wire fromwire -> msg -> STM (Maybe (wire,Word32))
230peekPacket getExtra q@(PacketOutQueue { pktoInPQ, pktoOutPQ, pktoPacketNo, pktoToWireIO, pktoToWire }) msg 231peekPacket getExtra q@(PacketOutQueue { pktoInPQ, pktoOutPQ, pktoPacketNo, pktoToWireIO, pktoToWire }) msg