Commit Graph

73 Commits

Author SHA1 Message Date
Jakob Borg 8b349945de Add Local Version field to files, send index in segments. 2014-07-15 13:04:37 +02:00
Jakob Borg 39a691a7e6 Remove compression 2014-07-14 23:52:11 +02:00
Jakob Borg 0a633c526f Copyright wording 2014-07-13 01:07:49 +02:00
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 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 33e9a35f08 Don't deadlock on connect close while sending Index (fixes #386) 2014-06-22 08:17:58 +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 38ac4e8f79 Serialize incoming indexes (fixes #344) 2014-06-10 17:05:15 +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
Jakob Borg 0a37fac794 Catch escaped debug print 2014-05-28 20:45:29 +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 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 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 28e347002a Revert "Streamline error handling and locking" (fixes #172)
This reverts commit 116f232f5a.
2014-05-04 08:11:06 +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 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 2df78a9313 Reimplement quick startup scan 2014-03-16 08:14:55 +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