04cc470201
get, move, copy, sync: When -J or annex.jobs has enabled concurrency, checksum verification uses a separate job pool than is used for downloads, to keep bandwidth saturated. Not yet done for upload checksum verification, but that only affects remotes on local disks.
18 lines
609 B
Haskell
18 lines
609 B
Haskell
{- Copyright 2016 Joey Hess <id@joeyh.name>
|
|
-
|
|
- Licensed under the GNU AGPL version 3 or higher.
|
|
-}
|
|
|
|
module Types.Concurrency where
|
|
|
|
import Utility.PartialPrelude
|
|
|
|
-- Note that Concurrent 1 is not the same as NonConcurrent;
|
|
-- the former specifies 1 job of each particular kind, but there can be
|
|
-- more than one kind of job running concurrently.
|
|
data Concurrency = NonConcurrent | Concurrent Int | ConcurrentPerCpu
|
|
|
|
parseConcurrency :: String -> Maybe Concurrency
|
|
parseConcurrency "cpus" = Just ConcurrentPerCpu
|
|
parseConcurrency "cpu" = Just ConcurrentPerCpu
|
|
parseConcurrency s = Concurrent <$> readish s
|