From d265917659b09e30d7ad0db345621b9b06288274 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 24 Apr 2013 17:16:04 -0400 Subject: remove last use of TSet --- Assistant/Commits.hs | 11 +++-------- Assistant/Threads/Pusher.hs | 19 ++----------------- Assistant/Types/Commits.hs | 6 +++--- 3 files changed, 8 insertions(+), 28 deletions(-) (limited to 'Assistant') diff --git a/Assistant/Commits.hs b/Assistant/Commits.hs index f4e908e0d..7d1d3780f 100644 --- a/Assistant/Commits.hs +++ b/Assistant/Commits.hs @@ -9,20 +9,15 @@ module Assistant.Commits where import Assistant.Common import Assistant.Types.Commits -import Utility.TSet +import Utility.TList import Control.Concurrent.STM {- Gets all unhandled commits. - Blocks until at least one commit is made. -} getCommits :: Assistant [Commit] -getCommits = (atomically . getTSet) <<~ commitChan - -{- Puts unhandled commits back into the channel. - - Note: Original order is not preserved. -} -refillCommits :: [Commit] -> Assistant () -refillCommits cs = (atomically . flip putTSet cs) <<~ commitChan +getCommits = (atomically . getTList) <<~ commitChan {- Records a commit in the channel. -} recordCommit :: Assistant () -recordCommit = (atomically . flip putTSet1 Commit) <<~ commitChan +recordCommit = (atomically . flip consTList Commit) <<~ commitChan diff --git a/Assistant/Threads/Pusher.hs b/Assistant/Threads/Pusher.hs index e90cca1ec..57595b8c1 100644 --- a/Assistant/Threads/Pusher.hs +++ b/Assistant/Threads/Pusher.hs @@ -33,13 +33,9 @@ pushThread :: NamedThread pushThread = namedThread "Pusher" $ runEvery (Seconds 2) <~> do -- We already waited two seconds as a simple rate limiter. -- Next, wait until at least one commit has been made - commits <- getCommits + void getCommits -- Now see if now's a good time to push. - if shouldPush commits - then void $ pushToRemotes True =<< pushTargets - else do - debug ["delaying push of", show (length commits), "commits"] - refillCommits commits + void $ pushToRemotes True =<< pushTargets {- We want to avoid pushing to remotes that are marked readonly. - @@ -51,14 +47,3 @@ pushTargets = liftIO . filterM available =<< candidates <$> getDaemonStatus where candidates = filter (not . Remote.readonly) . syncGitRemotes available = maybe (return True) doesDirectoryExist . Remote.localpath - -{- Decide if now is a good time to push to remotes. - - - - Current strategy: Immediately push all commits. The commit machinery - - already determines batches of changes, so we can't easily determine - - batches better. - -} -shouldPush :: [Commit] -> Bool -shouldPush commits - | not (null commits) = True - | otherwise = False diff --git a/Assistant/Types/Commits.hs b/Assistant/Types/Commits.hs index 12dab8da8..500faa901 100644 --- a/Assistant/Types/Commits.hs +++ b/Assistant/Types/Commits.hs @@ -7,13 +7,13 @@ module Assistant.Types.Commits where -import Utility.TSet +import Utility.TList import Control.Concurrent.STM -type CommitChan = TSet Commit +type CommitChan = TList Commit data Commit = Commit newCommitChan :: IO CommitChan -newCommitChan = atomically newTSet +newCommitChan = atomically newTList -- cgit v1.2.3