diff options
author | Joey Hess <joey@kitenet.net> | 2013-05-21 18:24:29 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-05-21 18:24:29 -0400 |
commit | b6ebb173e7b5d4d07577cb2918e7d1a24fbc1f60 (patch) | |
tree | 8c994e00b091c448d80737aa99bbc181701eee04 /Assistant/Types | |
parent | 14f2a42ca4131a7a51a9e10a94521639b971bccd (diff) |
XMPP: Avoid redundant and unncessary pushes. Note that this breaks compatibility with previous versions of git-annex, which will refuse to accept any XMPP pushes from this version.
Diffstat (limited to 'Assistant/Types')
-rw-r--r-- | Assistant/Types/NetMessager.hs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Assistant/Types/NetMessager.hs b/Assistant/Types/NetMessager.hs index 2c9de253f..cfcbe2aa3 100644 --- a/Assistant/Types/NetMessager.hs +++ b/Assistant/Types/NetMessager.hs @@ -9,6 +9,7 @@ module Assistant.Types.NetMessager where import Common.Annex import Assistant.Pairing +import Git.Types import Control.Concurrent.STM import Control.Concurrent.MSampleVar @@ -38,7 +39,7 @@ type ClientID = Text data PushStage -- indicates that we have data to push over the out of band network - = CanPush UUID + = CanPush UUID [Sha] -- request that a git push be sent over the out of band network | PushRequest UUID -- indicates that a push is starting @@ -59,7 +60,7 @@ type SequenceNum = Int {- NetMessages that are important (and small), and should be stored to be - resent when new clients are seen. -} isImportantNetMessage :: NetMessage -> Maybe ClientID -isImportantNetMessage (Pushing c (CanPush _)) = Just c +isImportantNetMessage (Pushing c (CanPush _ _)) = Just c isImportantNetMessage (Pushing c (PushRequest _)) = Just c isImportantNetMessage _ = Nothing @@ -91,14 +92,14 @@ isPushInitiation (StartingPush _) = True isPushInitiation _ = False isPushNotice :: PushStage -> Bool -isPushNotice (CanPush _) = True +isPushNotice (CanPush _ _) = True isPushNotice _ = False data PushSide = SendPack | ReceivePack deriving (Eq, Ord, Show) pushDestinationSide :: PushStage -> PushSide -pushDestinationSide (CanPush _) = ReceivePack +pushDestinationSide (CanPush _ _) = ReceivePack pushDestinationSide (PushRequest _) = SendPack pushDestinationSide (StartingPush _) = ReceivePack pushDestinationSide (ReceivePackOutput _ _) = SendPack |