Jakob Borg
d3972b88f2
Remove set.ReplaceWithDelete (dead code)
2015-07-28 21:09:43 +04:00
Jakob Borg
da4ebb6535
Determine conflict winner based on change type and modification time ( fixes #1848 )
2015-07-21 15:39:20 +02:00
Audrius Butkevicius
12a3086a9e
Add label next to "Last file received" ( fixes #1952 )
2015-06-16 12:12:34 +01:00
Jakob Borg
76ad925842
Refactor config commit stuff to support restartless updates better
...
Includes restartless updates of the GUI settings (listening port etc) as
a proof of concept.
2015-06-09 15:41:22 +02:00
Jakob Borg
c0d02a65c3
Reduce allocations during iteration
...
Reuses key byte slices to reduce allocations:
benchmark old allocs new allocs delta
Benchmark10kReplace 178112 168615 -5.33%
Benchmark10kUpdateChg 567954 561557 -1.13%
Benchmark10kUpdateSme 238691 228680 -4.19%
Benchmark10kNeed2k 105382 103383 -1.90%
Benchmark10kHaveFullList 60230 60230 +0.00%
Benchmark10kGlobal 237484 227493 -4.21%
benchmark old bytes new bytes delta
Benchmark10kReplace 8725368 7661788 -12.19%
Benchmark10kUpdateChg 58155152 57441025 -1.23%
Benchmark10kUpdateSme 16130875 14996717 -7.03%
Benchmark10kNeed2k 6561685 6338283 -3.40%
Benchmark10kHaveFullList 7611112 7611135 +0.00%
Benchmark10kGlobal 21415056 20300723 -5.20%
2015-05-24 13:08:14 +02:00
Jakob Borg
9d150bef9f
Refactor GetMtime for early return
2015-05-14 08:26:21 +02:00
Chris Howie
aa96f7b660
Virtual mtime support for environments that don't support altering mtimes ( fixes #831 )
2015-05-13 14:57:29 +00:00
Jakob Borg
0b9441e1a4
Reset a namespaced kv-store
2015-05-13 14:41:47 +02:00
Jakob Borg
9308c42cff
Skip boring concurrency test in internal/db
2015-05-07 09:57:49 +02:00
Jakob Borg
60fcaebfdb
Run vet and lint. Make us lint clean.
2015-04-29 10:38:02 +02:00
Audrius Butkevicius
433b923ea7
Add mutex logging
2015-04-23 10:54:14 +01:00
Jakob Borg
d1cc1828b8
Improve ItemStarted/ItemFinished events
...
- Remove full details from ItemStarted (unnecessary, incorrect CamelCase)
- Add "type" ("file" or "dir") to both events
- Add "action" (what we tried to do - "delete" or "update") to both
events.
2015-04-14 23:31:39 +09:00
Jakob Borg
f5030f1c2c
Update XDR dependency ( fixes #1606 )
2015-04-08 14:49:29 +02:00
Jakob Borg
6da7f17c4a
Implement version vectors
2015-03-25 23:10:34 +01:00
Jakob Borg
b4f45d1e79
Update tests for version vectors
2015-03-25 23:10:33 +01:00
Jakob Borg
32425c5561
MPLv2
2015-03-17 16:02:27 +01:00
Audrius Butkevicius
9d1e2d9f46
Add /rest/tree API call
2015-03-04 23:39:27 +00:00
Jakob Borg
6f8ac2b61c
Refactor: add and use db.NamespacedKV
2015-02-26 09:56:11 +01:00
Jakob Borg
6f2b4b96cf
Refactor: use leveldb/util.BytesPrefix
2015-02-26 09:56:11 +01:00
Jakob Borg
88c44b303d
Simplify FileInfoTruncated
2015-02-15 12:50:03 +01:00
Jakob Borg
9bb928bb38
Reduce memory usage by writing smaller batches
2015-02-10 20:24:25 +01:00
Audrius Butkevicius
38eaefcabd
Add ItemFinished event ( fixes #1258 )
2015-02-01 18:59:29 +00:00
Jakob Borg
2c8b627008
Integer type policy
...
Integers are for numbers, enabling arithmetic like subtractions and for
loops without getting shot in the foot. Unsigneds are for bitfields.
- "int" for numbers that will always be laughably smaller than four
billion, and where we don't care about the serialization format.
- "int32" for numbers that will always be laughably smaller than four
billion, and will be serialized to four bytes.
- "int64" for numbers that may approach four billion or will be
serialized to eight bytes.
- "uint32" and "uint64" for bitfields, depending on required number of
bits and serialization format. Likewise "uint8" and "uint16", although
rare in this project since they don't exist in XDR.
- "int8", "int16" and plain "uint" are almost never useful.
2015-01-19 10:34:36 -08:00
Jakob Borg
eef1aebe8c
Refactor out protocol and luhn (protocol dependency) packages
2015-01-13 13:22:56 +01:00
Jakob Borg
9a45f0b31c
Also filter out some other obviously invalid filenames (ref #1243 )
2015-01-13 12:28:35 +01:00
Jakob Borg
e4837f14b1
Remove nil filenames from database and indexes ( fixes #1243 )
2015-01-13 09:20:14 +01:00
Jakob Borg
e6c9baf6ef
Rename db.Set to db.FileSet
2015-01-12 20:57:39 +01:00
Jakob Borg
8d6db7be31
Rename package internal/files to internal/db
2015-01-12 20:57:22 +01:00