on master help sign in
Make classifySessionsOf terminate

It was running forever as the timer stream never terminated.

commitb52ed84a335ba823abcb9f15b91f0a37bbe15e54 authorHarendra Kumar <harendra@composewell.com> dateThu 28 May 2020, 19:14 (6 years ago) parent602539f
1 file changed+10−1
src/Streamly/Internal/Prelude.hs+10−1
src/Streamly/Internal/Prelude.hs+10−1
@@ -4687,7 +4687,7 @@ classifySessionsBy tick tmout reset ejectPred
46874687 return (hp, mp, out, cnt)
46884688
46894689 -- merge timer events in the stream
4690− stream = Serial.map Just str `Par.parallel` repeatM timer
4690+ stream = Serial.map Just str `Par.parallelFst` repeatM timer
46914691 timer = do
46924692 liftIO $ threadDelay (round $ tick * 1000000)
46934693 return Nothing
@@ -4761,6 +4761,15 @@ classifyChunksOf wsize = classifyChunksBy wsize False
47614761-- classifySessionsOf interval pred = classifySessionsBy 1 interval False pred
47624762-- @
47634763--
4764+-- @
4765+-- >>> S.mapM_ print
4766+-- $ S.classifySessionsOf 3 (const (return False)) (fmap Right FL.toList)
4767+-- $ S.map (\(ts,(k,a)) -> (k, a, ts))
4768+-- $ S.timestamped
4769+-- $ S.delay 1
4770+-- $ (,) <$> S.fromList [1,2,3] <*> S.fromList [1,2,3]
4771+-- @
4772+--
47644773-- /Internal/
47654774--
47664775{-# INLINABLE classifySessionsOf #-}