mismi-s3-0.0.3: AWS Library

Safe HaskellNone
LanguageHaskell98

Mismi.S3.Internal.Parallel

Contents

Synopsis

Data

data Result a Source #

newResult :: a -> IO (Result a) Source #

addResult :: Monad m => Result (m a) -> m a -> IO (m a) Source #

addWorker :: Workers a -> Async a -> IO () Source #

Operations

data RunError a Source #

Instances

Show a => Show (RunError a) Source # 

Methods

showsPrec :: Int -> RunError a -> ShowS #

show :: RunError a -> String #

showList :: [RunError a] -> ShowS #

consume_ :: MonadIO m => (Queue b -> IO a) -> Int -> (b -> ExceptT e IO ()) -> ExceptT (RunError e) m a Source #

Provide a producer and an action to be run across the result of that producer in parallel.

Common usage: @ let producer :: Address -> Queue Address -> IO () producer prefix q = list' prefix $$ writeQueue q

consume producer 100 ((a :: Address) -> doThis) @

consume :: forall a b c e. (Queue a -> IO b) -> Int -> (a -> IO (Either e c)) -> IO (Either (RunError e) (b, [c])) Source #

waitEitherBoth :: Async a -> Async b -> Async c -> IO (Either a (b, c)) Source #