git-annex/Types
Joey Hess 04c12aa6df
custom protocol for transferrer
Rather than using Read/Show, which would force me to preserve data types
into the future.

I considered just deriving json and sending that, but I don't much like
deriving json with data types that have named constructors (like Key
does) because again it locks in data type details.

So instead, used SimpleProtocol, with a fairly complex and unreadable
protocol. But it is as efficient as the p2p protocol at least, and as
future proof.

(Writing my own custom json instances would have worked but I thought
of it too late and don't want to do all the work twice. The only real
benefit might be that aeson could be faster.)

Note that, when a new protocol request type is added later, git-annex
trying to use it will cause the git-annex transferrer to display a
protocol error message. That seems ok; it would only happen if a new
git-annex found an old version of itself in PATH or the program
file. So it's unlikely, and all it can do anyway is display an error.
(The error message could perhaps be improved..)

This commit was sponsored by Jack Hill on Patreon.
2020-12-09 16:13:59 -04:00
..
ActionItem.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
AdjustedBranch.hs make sync update --unlock-present branch 2020-11-13 15:04:34 -04:00
Availability.hs
Backend.hs convert getFileSize to RawFilePath 2020-11-05 11:32:57 -04:00
Benchmark.hs benchmark: Add --databases to benchmark sqlite databases 2019-10-29 16:59:27 -04:00
BranchState.hs cache one more log file for metadata 2020-07-07 14:18:55 -04:00
CatFileHandles.hs cat-file resource pool 2020-04-20 15:19:31 -04:00
CleanupActions.hs annex.adjustedbranchrefresh 2020-11-16 14:27:28 -04:00
Command.hs add "input" field to json output 2020-09-15 16:22:44 -04:00
Concurrency.hs differentiate between concurrency enabled at command line and by git config 2020-09-16 11:47:12 -04:00
Creds.hs
Crypto.hs remove Show Cipher 2020-09-01 18:11:22 -04:00
DeferredParse.hs
DesktopNotify.hs
Difference.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
Distribution.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
Export.hs deepseq all things returned from ResourceT http 2020-09-14 18:30:06 -04:00
FileMatcher.hs split ProvidedInfo and UserProvidedInfo 2020-09-28 12:12:38 -04:00
GitConfig.hs stall detection is working 2020-12-08 15:22:18 -04:00
Group.hs
Import.hs deepseq all things returned from ResourceT http 2020-09-14 18:30:06 -04:00
IndexFiles.hs cache annex index filename for 1.5% speedup to queries 2020-04-10 13:37:04 -04:00
Key.hs new protocol for transferkeys, with message serialization 2020-12-03 16:21:20 -04:00
KeySource.hs convert KeySource to RawFilePath 2020-02-21 10:04:44 -04:00
LockCache.hs more RawFilePath conversion 2020-10-29 10:50:29 -04:00
Messages.hs custom protocol for transferrer 2020-12-09 16:13:59 -04:00
MetaData.hs
Mime.hs
NumCopies.hs
ProposedAccepted.hs separate RemoteConfig parsing basically working 2020-01-14 12:35:08 -04:00
RefSpec.hs ByteString Ref continued 2020-04-07 11:54:27 -04:00
Remote.hs add show instance 2020-12-01 15:39:57 -04:00
RemoteConfig.hs GETCONFIG name fix 2020-03-09 12:38:04 -04:00
RemoteState.hs improve comment 2020-01-06 12:53:09 -04:00
RepoVersion.hs
ScheduledActivity.hs avoid using MonadFail in ParseDuration 2020-08-15 15:53:35 -04:00
StallDetection.hs stall detection is working 2020-12-08 15:22:18 -04:00
StandardGroups.hs a few forgotten remote config fields 2020-01-15 11:22:36 -04:00
StoreRetrieve.hs make removeKey throw exceptions 2020-05-14 14:11:05 -04:00
Test.hs
Transfer.hs more RawFilePath conversion 2020-10-29 12:03:50 -04:00
Transferrer.hs custom protocol for transferrer 2020-12-09 16:13:59 -04:00
TransferrerPool.hs move new interface to git-annex transfer 2020-12-09 12:33:56 -04:00
TrustLevel.hs
UrlContents.hs remove SafeFilePath 2020-05-11 14:04:56 -04:00
UUID.hs support boolean git configs that are represented by the name of the setting with no value 2020-04-13 13:35:22 -04:00
View.hs test: Fix some test cases that assumed git's default branch name 2020-06-23 16:40:51 -04:00
WorkerPool.hs improve transfer stages for some commands 2020-05-26 11:55:50 -04:00