summaryrefslogtreecommitdiff
path: root/Assistant/TransferSlots.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-10-30 14:34:48 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-10-30 14:34:48 -0400
commitca03b7fef80cf97e89cd785ec8393a27d5328d99 (patch)
tree2d28cd2db176911d2f2b49df6440e10e8eeeeccc /Assistant/TransferSlots.hs
parentdbf9ac41086ffb39296bd1d977cc1db844ff0b32 (diff)
split remaining assistant types
Diffstat (limited to 'Assistant/TransferSlots.hs')
-rw-r--r--Assistant/TransferSlots.hs30
1 files changed, 2 insertions, 28 deletions
diff --git a/Assistant/TransferSlots.hs b/Assistant/TransferSlots.hs
index 478bb573a..1963252e0 100644
--- a/Assistant/TransferSlots.hs
+++ b/Assistant/TransferSlots.hs
@@ -5,43 +5,17 @@
- Licensed under the GNU GPL version 3 or higher.
-}
-{-# LANGUAGE DeriveDataTypeable #-}
-
module Assistant.TransferSlots where
-import Common.Annex
+import Assistant.Common
import Utility.ThreadScheduler
+import Assistant.Types.TransferSlots
import Assistant.DaemonStatus
-import Assistant.Types.DaemonStatus
import Logs.Transfer
import qualified Control.Exception as E
import Control.Concurrent
import qualified Control.Concurrent.MSemN as MSemN
-import Data.Typeable
-
-type TransferSlots = MSemN.MSemN Int
-
-{- A special exception that can be thrown to pause or resume a transfer, while
- - keeping its slot in use. -}
-data TransferException = PauseTransfer | ResumeTransfer
- deriving (Show, Eq, Typeable)
-
-instance E.Exception TransferException
-
-type TransferSlotRunner = DaemonStatusHandle -> TransferSlots -> TransferGenerator -> IO ()
-type TransferGenerator = IO (Maybe (Transfer, TransferInfo, IO ()))
-
-{- Number of concurrent transfers allowed to be run from the assistant.
- -
- - Transfers launched by other means, including by remote assistants,
- - do not currently take up slots.
- -}
-numSlots :: Int
-numSlots = 1
-
-newTransferSlots :: IO TransferSlots
-newTransferSlots = MSemN.new numSlots
{- Waits until a transfer slot becomes available, then runs a
- TransferGenerator, and then runs the transfer action in its own thread.