factor out Types.Transferrer

This commit is contained in:
Joey Hess 2020-12-09 13:28:16 -04:00
parent 677003a6df
commit 004a4f5fb1
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
6 changed files with 29 additions and 12 deletions

View file

@ -34,6 +34,7 @@ import Utility.Metered
import Utility.ThreadScheduler
import Annex.LockPool
import Types.Key
import Types.Transferrer
import qualified Types.Remote as Remote
import Types.Concurrency
import Annex.Concurrent.Utility

View file

@ -12,10 +12,10 @@ module Annex.TransferrerPool where
import Annex.Common
import qualified Annex
import Types.TransferrerPool
import Types.Transferrer
import Types.Transfer
import Types.Key
import qualified Types.Remote as Remote
import Git.Types (RemoteName)
import Types.StallDetection
import Types.Messages
import Messages.Serialized
@ -33,17 +33,6 @@ import Text.Read (readMaybe)
import Data.Time.Clock.POSIX
import System.Log.Logger (debugM)
data TransferRequest = TransferRequest TransferRequestLevel Direction (Either UUID RemoteName) KeyData AssociatedFile
deriving (Show, Read)
data TransferRequestLevel = AnnexLevel | AssistantLevel
deriving (Show, Read)
data TransferResponse
= TransferOutput SerializedOutput
| TransferResult Bool
deriving (Show, Read)
{- Runs an action with a Transferrer from the pool. -}
withTransferrer :: (Transferrer -> Annex a) -> Annex a
withTransferrer a = do

View file

@ -26,6 +26,7 @@ import Assistant.Commits
import Assistant.Drop
import Annex.Transfer (stallDetection)
import Types.Transfer
import Types.Transferrer
import Logs.Transfer
import Logs.Location
import qualified Git

View file

@ -18,6 +18,7 @@ import qualified Database.Keys
import Annex.BranchState
import Types.Messages
import Annex.TransferrerPool
import Types.Transferrer
import Text.Read (readMaybe)

24
Types/Transferrer.hs Normal file
View file

@ -0,0 +1,24 @@
{- protocol used by "git-annex transferrer"
-
- Copyright 2020 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU AGPL version 3 or higher.
-}
module Types.Transferrer where
import Annex.Common
import Types.Transfer
import Types.Messages
import Git.Types (RemoteName)
data TransferRequest = TransferRequest TransferRequestLevel Direction (Either UUID RemoteName) KeyData AssociatedFile
deriving (Show, Read)
data TransferRequestLevel = AnnexLevel | AssistantLevel
deriving (Show, Read)
data TransferResponse
= TransferOutput SerializedOutput
| TransferResult Bool
deriving (Show, Read)

View file

@ -1028,6 +1028,7 @@ Executable git-annex
Types.StoreRetrieve
Types.Test
Types.Transfer
Types.Transferrer
Types.TransferrerPool
Types.TrustLevel
Types.UUID