diff options
author | jim@bo <jim@bo> | 2018-06-21 20:05:50 -0400 |
---|---|---|
committer | jim@bo <jim@bo> | 2018-06-21 20:05:50 -0400 |
commit | 1391b2d5f332dbfc1e7e7fd2b7ff725caf785994 (patch) | |
tree | b2e50e87f5bd1a3ba6b974ef23c5ee5dd5ea6446 /src/Data | |
parent | 2054427bb756c7b14056551b9bb3968a6c630187 (diff) |
PacketRequest deserialize should match serialize
Diffstat (limited to 'src/Data')
-rw-r--r-- | src/Data/PacketQueue.hs | 5 |
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 | ||
229 | peekPacket :: STM extra -> PacketOutQueue extra msg wire fromwire -> msg -> STM (Maybe (wire,Word32)) | 230 | peekPacket :: STM extra -> PacketOutQueue extra msg wire fromwire -> msg -> STM (Maybe (wire,Word32)) |
230 | peekPacket getExtra q@(PacketOutQueue { pktoInPQ, pktoOutPQ, pktoPacketNo, pktoToWireIO, pktoToWire }) msg | 231 | peekPacket getExtra q@(PacketOutQueue { pktoInPQ, pktoOutPQ, pktoPacketNo, pktoToWireIO, pktoToWire }) msg |