Garvan Keeley
Garvan Keeley
A single non-concurrent background thread for disk management is a common pattern to use here. Lends itself well to rate-limiting the I/O.
The implementation on `dev` branch is aggressive and disposes the ping on all non-200 error codes. Note: 300-series that are resolvable are handled by the URLSession transparently, so we can...
1) Ensure that all json files have bounded size 2) Limit the amount of uploads permitted in a single session. 3) Rate-limit the I/O calls
These JSON files will compress to a fraction of their size if gzipped. Not sure if there is a reason not to do this.
1) is not thread-safe, call only from main 2) is only for CorePing and UI events which are inherently rate-limited by user interaction.
``` *** Skipped installing OHHTTPStubs.framework binary due to the error: "Incompatible Swift version - framework was built with 3.0.1 (swiftlang-800.0.58.6 clang-800.0.42.1) and the local version is 4.0 (swiftlang-900.0.65 clang-900.0.37)." ```