added currentTransfers
This commit is contained in:
parent
ad0b827957
commit
32e5e02e43
1 changed files with 8 additions and 1 deletions
|
@ -17,6 +17,8 @@ import System.Posix.Types
|
||||||
import Data.Time.Clock.POSIX
|
import Data.Time.Clock.POSIX
|
||||||
import Data.Time
|
import Data.Time
|
||||||
import System.Locale
|
import System.Locale
|
||||||
|
import Logs.Transfer
|
||||||
|
import qualified Data.Map as M
|
||||||
|
|
||||||
data DaemonStatus = DaemonStatus
|
data DaemonStatus = DaemonStatus
|
||||||
-- False when the daemon is performing its startup scan
|
-- False when the daemon is performing its startup scan
|
||||||
|
@ -27,6 +29,8 @@ data DaemonStatus = DaemonStatus
|
||||||
, sanityCheckRunning :: Bool
|
, sanityCheckRunning :: Bool
|
||||||
-- Last time the sanity checker ran
|
-- Last time the sanity checker ran
|
||||||
, lastSanityCheck :: Maybe POSIXTime
|
, lastSanityCheck :: Maybe POSIXTime
|
||||||
|
-- Currently running file content transfers
|
||||||
|
, currentTransfers :: M.Map Transfer TransferInfo
|
||||||
}
|
}
|
||||||
deriving (Show)
|
deriving (Show)
|
||||||
|
|
||||||
|
@ -38,6 +42,7 @@ newDaemonStatus = DaemonStatus
|
||||||
, lastRunning = Nothing
|
, lastRunning = Nothing
|
||||||
, sanityCheckRunning = False
|
, sanityCheckRunning = False
|
||||||
, lastSanityCheck = Nothing
|
, lastSanityCheck = Nothing
|
||||||
|
, currentTransfers = M.empty
|
||||||
}
|
}
|
||||||
|
|
||||||
getDaemonStatus :: DaemonStatusHandle -> Annex DaemonStatus
|
getDaemonStatus :: DaemonStatusHandle -> Annex DaemonStatus
|
||||||
|
@ -47,15 +52,17 @@ modifyDaemonStatus :: DaemonStatusHandle -> (DaemonStatus -> DaemonStatus) -> An
|
||||||
modifyDaemonStatus handle a = liftIO $ modifyMVar_ handle (return . a)
|
modifyDaemonStatus handle a = liftIO $ modifyMVar_ handle (return . a)
|
||||||
|
|
||||||
{- Load any previous daemon status file, and store it in the MVar for this
|
{- Load any previous daemon status file, and store it in the MVar for this
|
||||||
- process to use as its DaemonStatus. -}
|
- process to use as its DaemonStatus. Also gets current transfer status. -}
|
||||||
startDaemonStatus :: Annex DaemonStatusHandle
|
startDaemonStatus :: Annex DaemonStatusHandle
|
||||||
startDaemonStatus = do
|
startDaemonStatus = do
|
||||||
file <- fromRepo gitAnnexDaemonStatusFile
|
file <- fromRepo gitAnnexDaemonStatusFile
|
||||||
status <- liftIO $
|
status <- liftIO $
|
||||||
catchDefaultIO (readDaemonStatusFile file) newDaemonStatus
|
catchDefaultIO (readDaemonStatusFile file) newDaemonStatus
|
||||||
|
transfers <- M.fromList <$> getTransfers
|
||||||
liftIO $ newMVar status
|
liftIO $ newMVar status
|
||||||
{ scanComplete = False
|
{ scanComplete = False
|
||||||
, sanityCheckRunning = False
|
, sanityCheckRunning = False
|
||||||
|
, currentTransfers = transfers
|
||||||
}
|
}
|
||||||
|
|
||||||
{- This thread wakes up periodically and writes the daemon status to disk. -}
|
{- This thread wakes up periodically and writes the daemon status to disk. -}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue