stub syncer thread and commit channel
This commit is contained in:
parent
3ee44cf8fe
commit
28e28bc043
8 changed files with 125 additions and 30 deletions
32
Assistant/Commits.hs
Normal file
32
Assistant/Commits.hs
Normal file
|
@ -0,0 +1,32 @@
|
|||
{- git-annex assistant commit tracking
|
||||
-
|
||||
- Copyright 2012 Joey Hess <joey@kitenet.net>
|
||||
-}
|
||||
|
||||
module Assistant.Commits where
|
||||
|
||||
import Utility.TSet
|
||||
|
||||
import Data.Time.Clock
|
||||
|
||||
type CommitChan = TSet Commit
|
||||
|
||||
data Commit = Commit UTCTime
|
||||
deriving (Show)
|
||||
|
||||
newCommitChan :: IO CommitChan
|
||||
newCommitChan = newTSet
|
||||
|
||||
{- Gets all unhandled commits.
|
||||
- Blocks until at least one commit is made. -}
|
||||
getCommits :: CommitChan -> IO [Commit]
|
||||
getCommits = getTSet
|
||||
|
||||
{- Puts unhandled commits back into the channel.
|
||||
- Note: Original order is not preserved. -}
|
||||
refillCommits :: CommitChan -> [Commit] -> IO ()
|
||||
refillCommits = putTSet
|
||||
|
||||
{- Records a commit in the channel. -}
|
||||
recordCommit :: CommitChan -> Commit -> IO ()
|
||||
recordCommit = putTSet1
|
Loading…
Add table
Add a link
Reference in a new issue