Jakob Borg
3c4002e149
Merge branch 'v0.8'
...
* v0.8:
Don't leak writer and index goroutines on close
Clean up protocol locking and closing
Send initial index in batches
Always send initial index, even if empty (ref #344 )
Simplify locking in protocol.Index
Protocol state machine on receiving side
Log client version on connect
Handle query parameters in UPnP control URL (fixes #211 )
Avoid deadlock during initial scan (fixes #389 )
Add temporary debug logging for #344 (revert later)
Tone down UPnP not found message (fixes #406 )
2014-07-04 15:16:41 +02:00
Jakob Borg
a720f90a70
Don't leak writer and index goroutines on close
2014-07-04 15:16:33 +02:00
Jakob Borg
4a6b43bcae
Clean up protocol locking and closing
2014-07-03 13:37:20 +02:00
Jakob Borg
bc1d04f0b9
Always send initial index, even if empty (ref #344 )
2014-07-02 21:50:11 +02:00
Jakob Borg
381795d6d0
Simplify locking in protocol.Index
2014-07-02 21:49:24 +02:00
Jakob Borg
6ade27641d
Protocol state machine on receiving side
2014-07-02 21:33:30 +02:00
Jakob Borg
b57f4ed97e
Improve XDR performance
2014-06-30 13:35:48 +02:00
Jakob Borg
4f6ee7c8eb
Fix linux/freebsd/windows compilation
2014-06-30 01:51:58 +02:00
Jakob Borg
8f3effed32
Refactor node ID handling, use check digits ( fixes #269 )
...
New node ID:s contain four Luhn check digits and are grouped
differently. Code uses NodeID type instead of string, so it's formatted
homogenously everywhere.
2014-06-30 01:42:03 +02:00
Jakob Borg
21518adfc8
Include MaxVersion in Cluster Config message
2014-06-23 09:31:59 +02:00
Jakob Borg
33e9a35f08
Don't deadlock on connect close while sending Index ( fixes #386 )
2014-06-22 08:17:58 +02:00
Jakob Borg
0e59b5678a
Further clarify message ordering requirements (ref #377 )
2014-06-19 01:59:58 +02:00
Jakob Borg
de75550415
Clarify requirements on config messages (ref #377 )
2014-06-19 01:27:03 +02:00
Jakob Borg
4dbce32738
Simplify memory handling
2014-06-19 01:02:32 +02:00
Jakob Borg
964c903a68
Only keep track of version (not modified) for sent index
2014-06-16 07:40:17 +02:00
Jakob Borg
537c6b3b69
Reduce ping time & timeout (ref #358 )
2014-06-14 11:07:34 +02:00
Jakob Borg
66d4e9e5d7
Prevent possible reordering of Index/IndexUpdate on send (ref #344 )
2014-06-12 18:07:06 +02:00
Jakob Borg
e63596681d
Fix header in protocol spec ( fixes #360 )
2014-06-11 16:27:39 +02:00
Jakob Borg
38ac4e8f79
Serialize incoming indexes ( fixes #344 )
2014-06-10 17:05:15 +02:00
Jakob Borg
a477989950
Handle invalid file names (Windows) ( fixes #238 )
2014-06-04 10:09:27 +02:00
Jakob Borg
843fd9bdbd
Add license header
2014-06-01 22:50:14 +02:00
Jakob Borg
2db76ae786
Total wire data should always be uint64 ( fixes #315 )
2014-06-01 21:56:05 +02:00
Chris Tonkinson
f2459ef331
case change in documentation
2014-05-31 11:04:25 -04:00
Jakob Borg
0a37fac794
Catch escaped debug print
2014-05-28 20:45:29 +02:00
Jakob Borg
ce4f565e2f
Add forgotten file
2014-05-28 14:27:08 +02:00
Jakob Borg
b44016ff70
Don't ping timeout during long transfers ( fixes #280 )
2014-05-28 13:25:06 +02:00
Jakob Borg
42ae2898e1
Revert "More memory efficient index sending"
...
This reverts commit 593f098276
.
2014-05-28 10:11:17 +02:00
Jakob Borg
593f098276
More memory efficient index sending
2014-05-28 09:31:46 +02:00
Jakob Borg
c2f75d3689
Show counters for total data transferred ( fixes #265 )
2014-05-24 21:34:11 +02:00
Jakob Borg
1a231d39a5
Default permission bits are 0666
2014-05-24 08:53:54 +02:00
Jakob Borg
b60d648e22
Convenience functions for flag testing
2014-05-23 12:53:26 +02:00
Jakob Borg
7bc36cbbd1
Add bit 17, No Permission Bits
2014-05-23 12:53:11 +02:00
Jakob Borg
0d3caa2183
Increase file limit from 100.000 to 1.000.000
2014-05-13 10:05:36 -03:00
jpjp
5ed319ea42
Update PROTOCOL.md
...
Correct typos
2014-05-13 14:45:32 +02:00
jaseg
b61f418bf2
PROTOCOL.md: Fixed typo
2014-05-13 07:11:09 +02:00
Jakob Borg
abbb40abd2
Don't deadlock on closing while sending index ( fixes #189 )
2014-05-11 21:35:44 -03:00
Jakob Borg
1a1f118f1a
Restructure protocol code with less locking
2014-05-11 14:30:29 -03:00
Jakob Borg
b115fca8a9
Increase ping timeout
2014-05-11 14:30:15 -03:00
Jakob Borg
482795bab0
Streamline error handling and locking, with fix for close() race
2014-05-04 18:22:25 +02:00
Jakob Borg
ecc6476308
Revert "Fix protocol close test"
...
This reverts commit 92c1ce57a6
.
2014-05-04 08:16:45 +02:00
Jakob Borg
28e347002a
Revert "Streamline error handling and locking" ( fixes #172 )
...
This reverts commit 116f232f5a
.
2014-05-04 08:11:06 +02:00
Jakob Borg
92c1ce57a6
Fix protocol close test
2014-04-27 13:25:35 +02:00
Jakob Borg
116f232f5a
Streamline error handling and locking
2014-04-27 13:10:50 +02:00
Jakob Borg
1207223f3d
Report rates over the wire, not uncompressed
2014-04-21 12:49:47 +02:00
Jakob Borg
5064f846fc
New Cluster Configuration message replaces Options ( fixes #63 )
2014-04-13 15:28:26 +02:00
Jakob Borg
15699a39cf
Synchronize directory existence & metadata ( fixes #11 )
2014-04-02 11:57:18 +02:00
Jakob Borg
5eb5a056bf
Basic support for synchronizing multiple repositories ( fixes #35 )
2014-03-30 21:28:13 +02:00
Jakob Borg
2a5c0646c0
Format list of cipher suites
2014-03-29 18:41:06 +01:00
Jakob Borg
7d3c51df9e
Spurious whitespace
2014-03-29 18:40:25 +01:00
Jakob Borg
6d314cdc04
Spec clarifications and tightening
2014-03-29 18:34:09 +01:00
Jakob Borg
f87b1520e8
The Great Rewrite ( fixes #36 , #61 , #94 , #101 )
...
Rewrite of the file model and pulling mechanism. Needs lots of cleanup
and bugfixes, now...
2014-03-29 13:47:21 +01:00
Jakob Borg
804cce7ba0
Ensure that we make progress on the read side of a connection
2014-03-23 08:44:27 +01:00
Jakob Borg
168b23556a
Improve TestClose
2014-03-22 17:10:26 +01:00
Jakob Borg
513100bb92
Fix tests for >1 CPU ( fixes #99 )
2014-03-22 17:06:15 +01:00
Jakob Borg
68d9454bc4
Enforce correct filename normalization ( fixes #96 )
2014-03-21 09:09:01 +01:00
Jakob Borg
2df78a9313
Reimplement quick startup scan
2014-03-16 08:14:55 +01:00
Jakob Borg
446b21c568
Package descriptions for godoc
2014-03-12 06:32:26 +01:00
Jakob Borg
434a0ccf2a
golint
2014-02-24 13:29:30 +01:00
Jakob Borg
e7bf3ac108
go vet
2014-02-24 13:24:03 +01:00
Jakob Borg
a57e2b358f
Fix tests
2014-02-23 13:58:10 +01:00
Jakob Borg
5837277f8d
Rework XDR encoding
2014-02-20 17:42:17 +01:00
Jakob Borg
f89fa6caed
Factor out XDR en/decoding
2014-02-15 12:08:55 +01:00
Jakob Borg
21a7f3960a
Add multi-repository support to protocol (ref #35 )
2014-02-13 12:52:47 +01:00
Jakob Borg
fc6eabea28
Enforce identical member configuration among nodes ( fixes #63 )
2014-02-09 23:13:06 +01:00
Jakob Borg
9bd4fa5008
Make immediate write error only slightly less cryptic ( fixes #51 )
2014-02-05 20:58:39 +01:00
Jakob Borg
2ea3558283
Add Options message to protocol
2014-01-23 13:12:45 +01:00
Jakob Borg
4ac204b604
Fine grained locking
2014-01-20 07:38:48 +01:00
Jakob Borg
45fcf4bc84
Implement new puller routine ( fixes #33 )
2014-01-12 11:02:16 -07:00
Jakob Borg
2935aebe53
Benchmarking
2014-01-09 14:11:55 +01:00
Jakob Borg
1ef86379fb
Actually send index updates for version bumps
2014-01-08 14:21:47 +01:00
Jakob Borg
2cfb24892f
Add version and invalid bit to protocol
2014-01-07 22:44:21 +01:00
jpjp
2bdab426ff
synch -> sync
2014-01-06 22:27:57 +01:00
Jakob Borg
6679c84cfb
Refactor statistics printing
2014-01-05 16:20:18 +01:00
Jakob Borg
7e0be89052
Simplify index sending, prevent ping timeout
2013-12-31 21:22:49 -05:00
Jakob Borg
632bcae856
Mostly lock free receive loop
2013-12-30 22:10:54 -05:00
Jakob Borg
42ad9f8b02
Increase ping timeout
2013-12-30 21:32:20 -05:00
Jakob Borg
0f6b34160c
Propagate and log reason for connection close
2013-12-30 21:25:45 -05:00
Jakob Borg
af3e64a5a7
Remove broken Ping latency measurement
2013-12-30 20:52:36 -05:00
Jakob Borg
7948d046d1
Fix locking around close events
2013-12-30 15:27:20 -05:00
Jakob Borg
673ab42c3c
Remove race / unnecessary check
2013-12-30 10:05:13 -05:00
Jakob Borg
005b207737
Atomic connection stats updates
2013-12-30 09:53:54 -05:00
Jakob Borg
1c757db153
Avoid deadlock in index exchange by more fine grained locking
2013-12-30 09:22:34 -05:00
Jakob Borg
976baff44f
Memory usage optimizations
2013-12-29 20:33:57 -05:00
Jakob Borg
454e672d42
Handle calls on closed connection
2013-12-28 10:33:18 -05:00
Jakob Borg
74c27ad4e2
Index Updates
2013-12-28 08:10:36 -05:00
Jakob Borg
fc4b23fbc6
Locking/Ping cleanup
2013-12-24 11:45:16 -05:00
Jakob Borg
746d52930d
Report transfer stats
2013-12-23 12:28:19 -05:00
Jakob Borg
7d235a454d
Refactor length check
2013-12-21 23:52:20 +01:00
Jakob Borg
5c1db4f0f4
Close on unknown message type
2013-12-21 08:15:19 +01:00
Jakob Borg
8d3aa97047
Close on version mismatch
2013-12-21 08:06:54 +01:00
Jakob Borg
f5987fba32
Error handling, testing
2013-12-21 07:52:32 +01:00
Jakob Borg
f774b0a5dc
Error handling
2013-12-18 18:29:15 +01:00
Jakob Borg
bef9ccfa71
Do ping check after 5 minute inactivity
2013-12-15 16:19:45 +01:00
Jakob Borg
768a7d5052
Simplify async results
2013-12-15 15:58:27 +01:00
Jakob Borg
e86296884a
Crash for explainable reason when protocol is out of sync (version skew)
2013-12-15 13:18:03 +01:00
Jakob Borg
8589a0fb40
Don't crash on reading empty index
2013-12-15 13:12:32 +01:00
Jakob Borg
bfe935b5ab
REBASE!
2013-12-15 11:43:40 +01:00