Commit Graph
4940 Commits
Author SHA1 Message Date
James Turner aa679ffb86 HTTP terra sync: fix hash cache handling
Avoids very long pauses blocking the terrasync thread, while existing
file trees are verified.

Also split the request queue so we don’t submit vary large numbers of
requests from a single repository, and hence block other repositories
from getting traffic.
2016-03-24 19:15:20 +00:00
James Turner 4fdcfb8623 HTTP/curl - pick up sleep value 2016-03-24 18:41:30 +00:00
James Turner c199c95218 Expose total bytes to download / remaining
For HTTP repositories, support some additional metrics about ongoing
transfers. Not currently exposed via properties / TerraSync API, but
will be shortly.
2016-03-22 21:14:17 +00:00
James Turner 3f9b6d632e HTTP/curl - transfer byte metric work
Should fix the missing download rate feedback on the splash screen
and terra sync dialog.
2016-03-22 21:13:22 +00:00
James Turner 714a6ac47d Disable HTTP pipelining if the connection closes.
Don’t keep attempting to pipeline if the next server sets Close on
its response, since this just generates needless overhead.
2016-03-22 20:06:22 +00:00
James Turner 2438dd8a08 Disable persistent TerraSync cache for HTTP
- since the root-level request for an HTTP repo is small, and static,
  it doesn’t make sense to use the same persistent cache, especially
  for initial testing.
2016-03-05 09:53:37 +00:00
James Turner 49146f41e3 Expose more pipelining controls on HTTP code
- used for both implementations, restrict default pipeline depth to
  5 instead of 32 which was perhaps a little ambitious for some
  servers.
2016-03-01 12:44:22 +00:00
James Turner 8009a33b26 Fix attempt to remove missing files. 2016-03-01 12:35:08 +00:00
James Turner b8d07cc460 Fixes for error handling in NetChannel
- return the correct errno value instead of using -1
2016-03-01 12:34:56 +00:00
James Turner 43dacf5951 HTTP repository testing tool. 2016-02-27 06:35:41 +02:00
James Turner 8adbefb2b7 Fix Windows compile of HTTP repo tests. 2016-02-26 21:21:00 +02:00
James Turner 4eb272f4f0 Lots of work on HTTP repository failure handling. 2016-02-26 21:18:26 +02:00
James Turner f84dac822a Fix a nasty bug in non-libCurl HTTP pipelining.
- when requests were closely overlapped, but not submitted at the
  same time, connection state could get corrupted.
2016-02-26 00:10:34 +02:00
James Turner 0b4f416ddc More error reporting from TerraSync/HTTP
- raise more errors when requests fail, and report/catch these.
2016-02-25 21:20:33 +02:00
James Turner 6cef1f9091 Fix compilation with older versions of libCurl. 2016-02-25 21:19:44 +02:00
James Turner 5c9f5361bd Fix for libCurl pipelining and connection count. 2016-02-24 23:36:25 +02:00
Torsten Dreyer ce245059b8 Merge /u/edauvergne/simgear/ branch particles into next
http://sourceforge.net/p/flightgear/simgear/merge-requests/4/
2016-02-23 21:55:18 +00:00
James Turner 4fb205b317 Work around lack of endian.h on Windows 2016-02-22 23:53:27 +02:00
James Turner 624dae5958 Fix a typo breaking HTTP unit-test. 2016-02-22 23:41:13 +02:00
James Turner d4384422f4 HTTP repository: replace an assert.
- Torsten is seeing this on his setup.
2016-02-22 21:27:03 +02:00
James Turner 935d649096 More HTTP repository compile tweaks. 2016-02-22 21:07:16 +02:00
James Turner 2b147f7429 Use SGFile to avoid Windows breakage. 2016-02-22 20:59:03 +02:00
Torsten Dreyer da6b395008 Fix SimGear compile on Linux 2016-02-22 19:49:20 +01:00
James Turner dda922a651 Hopefully fix Linux compilation. 2016-02-22 18:05:02 +02:00
James Turner d179fccfcb Optionally use HTTP repository.
- disabled by default since needs much testing.
2016-02-21 21:49:20 +02:00
James Turner ae4d96872d HTTP repository implementation
A plain-HTTP terrasync repository implementation, using the
SimGear HTTP abstraction. File validity is based on SHA hashes,
and existing files are not re-downloaded if their hash matches,
so soft upgrade from an SVN checkout is possible.
2016-02-21 21:49:20 +02:00
James Turner 7075a8707b Create TerraSync repo API
- create an abstract API for a remote repository, based on the current
  SVN repository API, and update the code accordingly.
2016-02-21 15:49:12 +01:00
Edward d'Auvergne 4b7f7861cd Debugging message improvements for the particle system. 2016-02-19 14:33:30 +01:00
Automatic Release Builder e7598df4d3 new version: 2016.2.0 version/2016.2.0 2016-02-17 21:16:33 +01:00
Automatic Release Builder 63e7a1fbb4 new version: 2016.1.1 version/2016.1.1 2016-02-17 21:16:32 +01:00
Torsten Dreyer 951859d8a7 correct user-agent string for terrasync 2016-02-15 16:53:31 +01:00
James Turner 41f40a9a10 Fix misnamed macro.
- should fix TerraSync user-agent.
2016-02-08 09:37:35 +00:00
Rebecca N. Palmer a6290e367a math: 'void getMaxSubdiv' does not make any sense
Fixes build failure with GCC 6: https://bugs.debian.org/812014
(getMaxSubdiv is currently unused)
2016-02-06 21:16:27 +00:00
James Turner af0a51930e CMake: don’t export build to build tree
- only export targets to the install tree, since this is
  hopefully compatible with CMake 2.8
2016-02-02 18:33:20 +00:00
James Turner ccb5d05eb4 Fix headless build for CMake export 2016-01-30 14:29:12 +00:00
James Turner 9d7402242a Work on CMake export of targets. 2016-01-29 23:15:07 +00:00
James Turner 819833a560 VS2013 compile fixes.
- mostly about return type conversions.
2016-01-27 14:02:27 +00:00
Gijs de Rooy 576ff21488 TerraSync log typo 2016-01-20 12:16:14 +01:00
James Turner b60f8b4989 New log class for terrasync 2016-01-16 15:49:58 -06:00
James Turner 096d625445 Allow use of noreturn attribute with Clang
- other compilers could also be enabled in the future.
2016-01-12 12:48:34 -06:00
James Turner dad77b3983 Fix a Simgear compile failure. 2016-01-09 09:45:43 -06:00
James Turner 598b64fa95 Linux test_HTTP fixes.
libCurl HTTP unit-test fixes.
2016-01-08 12:17:02 -06:00
James Turner b5d6aa3fe4 Linux test_HTTP fixes. 2016-01-06 12:57:04 -06:00
James Turner f32063e6dd Jenkins build fixes. 2016-01-06 00:07:30 -06:00
James Turner 3d9d44cf73 Fix negative loop counts when dt is small. 2016-01-05 23:18:41 -06:00
James Turner ac84115ac3 Remove obsolete member 2016-01-05 23:17:20 -06:00
James Turner d58607242e Merge branch 'next' of ssh://git.code.sf.net/p/flightgear/simgear into next 2016-01-05 20:43:25 -06:00
Torsten Dreyer 7afd2be652 Version 2016.1.0 version/2016.1.0 2016-01-05 20:45:11 +01:00
James Turner f256d45b65 Quiet a debug message. 2016-01-04 13:36:32 -06:00
James Turner edf15e9f55 Quite some debug output from the materials caches. 2016-01-03 21:51:58 -06:00