on master help sign in
Move rate/conc control to IsStream/Transform
7b2b463Harendra Kumar
src/Streamly.hs+1−1
@@ -213,7 +213,7 @@ import Data.Semigroup (Semigroup(..))
213import Streamly.Internal.Data.SVar (MonadAsync, Rate(..))
213import Streamly.Internal.Data.SVar (MonadAsync, Rate(..))
214import Streamly.Internal.Data.Stream.Ahead
214import Streamly.Internal.Data.Stream.Ahead
215import Streamly.Internal.Data.Stream.Async hiding (mkAsync)
215import Streamly.Internal.Data.Stream.Async hiding (mkAsync)
216−import Streamly.Internal.Data.Stream.Combinators
216+import Streamly.Internal.Data.Stream.IsStream.Combinators
217import Streamly.Internal.Data.Stream.Parallel
217import Streamly.Internal.Data.Stream.Parallel
218import Streamly.Internal.Data.Stream.Serial
218import Streamly.Internal.Data.Stream.Serial
219import Streamly.Internal.Data.Stream.StreamK hiding (serial)
219import Streamly.Internal.Data.Stream.StreamK hiding (serial)
src/Streamly/Internal/Data/Stream/IsStream.hs−5
@@ -591,11 +591,6 @@ module Streamly.Internal.Data.Stream.IsStream
591 )
591 )
592where
592where
593
593
594−import Streamly.Internal.Data.SVar (Rate (..))
595−import Streamly.Internal.Data.Stream.Combinators
596− ( inspectMode, maxBuffer, maxThreads, rate, avgRate, minRate
597− , maxRate, constRate)
598−
599import qualified Streamly.Internal.Data.Stream.Parallel as Par
594import qualified Streamly.Internal.Data.Stream.Parallel as Par
600import qualified Streamly.Internal.Data.Stream.Prelude as P
595import qualified Streamly.Internal.Data.Stream.Prelude as P
601import qualified Streamly.Internal.Data.Stream.StreamD as D
596import qualified Streamly.Internal.Data.Stream.StreamD as D
src/Streamly/Internal/Data/Stream/Combinators.hs → src/Streamly/Internal/Data/Stream/IsStream/Combinators.hsrenamed+4−5
@@ -1,16 +1,13 @@
1−#include "inline.hs"
2−
3-- |
1-- |
4-- Module : Streamly.Internal.Data.Stream.Combinators
2-- Module : Streamly.Internal.Data.Stream.Combinators
5-- Copyright : (c) 2017 Composewell Technologies
3-- Copyright : (c) 2017 Composewell Technologies
6−--
7−-- License : BSD3
4+-- License : BSD-3-Clause
8-- Maintainer : streamly@composewell.com
5-- Maintainer : streamly@composewell.com
9-- Stability : experimental
6-- Stability : experimental
10-- Portability : GHC
7-- Portability : GHC
11--
8--
12--
9--
13−module Streamly.Internal.Data.Stream.Combinators
10+module Streamly.Internal.Data.Stream.IsStream.Combinators
14 ( maxThreads
11 ( maxThreads
15 , maxBuffer
12 , maxBuffer
16 , maxYields
13 , maxYields
@@ -24,6 +21,8 @@ module Streamly.Internal.Data.Stream.Combinators
24 )
21 )
25where
22where
26
23
24+#include "inline.hs"
25+
27import Control.Monad.IO.Class (MonadIO(liftIO))
26import Control.Monad.IO.Class (MonadIO(liftIO))
28import Data.Int (Int64)
27import Data.Int (Int64)
29
28
src/Streamly/Internal/Data/Stream/IsStream/Common.hs+1−1
@@ -50,7 +50,7 @@ import Control.Monad.IO.Class (MonadIO(..))
50import Foreign.Storable (Storable)
50import Foreign.Storable (Storable)
51import Streamly.Internal.Data.Array.Storable.Foreign.Types (Array)
51import Streamly.Internal.Data.Array.Storable.Foreign.Types (Array)
52import Streamly.Internal.Data.Fold.Types (Fold (..))
52import Streamly.Internal.Data.Fold.Types (Fold (..))
53−import Streamly.Internal.Data.Stream.Combinators (maxYields)
53+import Streamly.Internal.Data.Stream.IsStream.Combinators (maxYields)
54import Streamly.Internal.Data.Stream.Prelude (fromStreamS, toStreamS)
54import Streamly.Internal.Data.Stream.Prelude (fromStreamS, toStreamS)
55import Streamly.Internal.Data.Stream.Serial (SerialT)
55import Streamly.Internal.Data.Stream.Serial (SerialT)
56import Streamly.Internal.Data.Stream.StreamD (fromStreamD, toStreamD)
56import Streamly.Internal.Data.Stream.StreamD (fromStreamD, toStreamD)
src/Streamly/Internal/Data/Stream/IsStream/Transform.hs+21−3
@@ -158,6 +158,21 @@ module Streamly.Internal.Data.Stream.IsStream.Transform
158 , (|$)
158 , (|$)
159 , (|&)
159 , (|&)
160
160
161+ -- ** Concurrency Control
162+ , maxThreads
163+ , maxBuffer
164+
165+ -- ** Rate Limiting
166+ , Rate (..)
167+ , rate
168+ , avgRate
169+ , minRate
170+ , maxRate
171+ , constRate
172+
173+ -- * Diagnostics
174+ , inspectMode
175+
161 -- * Deprecated
176 -- * Deprecated
162 , scanx
177 , scanx
163 )
178 )
@@ -174,7 +189,10 @@ import Data.Either (isLeft, isRight)
174import Data.Maybe (isJust, fromJust)
189import Data.Maybe (isJust, fromJust)
175import Streamly.Internal.BaseCompat (fromLeft, fromRight)
190import Streamly.Internal.BaseCompat (fromLeft, fromRight)
176import Streamly.Internal.Data.Fold.Types (Fold (..))
191import Streamly.Internal.Data.Fold.Types (Fold (..))
177−import Streamly.Internal.Data.SVar (MonadAsync)
192+import Streamly.Internal.Data.Pipe.Types (Pipe (..))
193+import Streamly.Internal.Data.Stream.IsStream.Combinators
194+ ( inspectMode, maxBuffer, maxThreads, rate, avgRate, minRate
195+ , maxRate, constRate)
178import Streamly.Internal.Data.Stream.IsStream.Common
196import Streamly.Internal.Data.Stream.IsStream.Common
179 ( absTimesWith
197 ( absTimesWith
180 , drop
198 , drop
@@ -191,10 +209,10 @@ import Streamly.Internal.Data.Stream.IsStream.Common
191 , intersperseM
209 , intersperseM
192 )
210 )
193import Streamly.Internal.Data.Stream.Prelude (fromStreamS, toStreamS)
211import Streamly.Internal.Data.Stream.Prelude (fromStreamS, toStreamS)
212+import Streamly.Internal.Data.Stream.Serial (SerialT)
194import Streamly.Internal.Data.Stream.StreamD (fromStreamD, toStreamD)
213import Streamly.Internal.Data.Stream.StreamD (fromStreamD, toStreamD)
195import Streamly.Internal.Data.Stream.StreamK (IsStream)
214import Streamly.Internal.Data.Stream.StreamK (IsStream)
196−import Streamly.Internal.Data.Stream.Serial (SerialT)
215+import Streamly.Internal.Data.SVar (MonadAsync, Rate(..))
197−import Streamly.Internal.Data.Pipe.Types (Pipe (..))
198import Streamly.Internal.Data.Time.Units ( TimeUnit64, AbsTime, RelTime64)
216import Streamly.Internal.Data.Time.Units ( TimeUnit64, AbsTime, RelTime64)
199
217
200import qualified Streamly.Internal.Data.Fold as FL
218import qualified Streamly.Internal.Data.Fold as FL
streamly.cabal+1−1
@@ -470,13 +470,13 @@ library
470 , Streamly.Internal.Data.Stream.Parallel
470 , Streamly.Internal.Data.Stream.Parallel
471 , Streamly.Internal.Data.Stream.Ahead
471 , Streamly.Internal.Data.Stream.Ahead
472 , Streamly.Internal.Data.Stream.Zip
472 , Streamly.Internal.Data.Stream.Zip
473− , Streamly.Internal.Data.Stream.Combinators
474 , Streamly.Internal.Data.Stream.IsStream.Common
473 , Streamly.Internal.Data.Stream.IsStream.Common
475 , Streamly.Internal.Data.Stream.IsStream.Types
474 , Streamly.Internal.Data.Stream.IsStream.Types
476 , Streamly.Internal.Data.Stream.IsStream.Enumeration
475 , Streamly.Internal.Data.Stream.IsStream.Enumeration
477 , Streamly.Internal.Data.Stream.IsStream.Generate
476 , Streamly.Internal.Data.Stream.IsStream.Generate
478 , Streamly.Internal.Data.Stream.IsStream.Eliminate
477 , Streamly.Internal.Data.Stream.IsStream.Eliminate
479 , Streamly.Internal.Data.Stream.IsStream.Transform
478 , Streamly.Internal.Data.Stream.IsStream.Transform
479+ , Streamly.Internal.Data.Stream.IsStream.Combinators
480 , Streamly.Internal.Data.Stream.IsStream.Nesting
480 , Streamly.Internal.Data.Stream.IsStream.Nesting
481 , Streamly.Internal.Data.Stream.IsStream.Exception
481 , Streamly.Internal.Data.Stream.IsStream.Exception
482 , Streamly.Internal.Data.Stream.IsStream.Lift
482 , Streamly.Internal.Data.Stream.IsStream.Lift