Commits
Michael Haney authored and GitHub committed 1e1a14662e4
Remove state management from the upload coordinator (#3003) * Remove state management from the upload coordinator Refactors the GDTPrioritizer and GDTUploader interfaces, which caused some cascading changes. - The removal of -unprioritizeEvents means that the logic was moved to an implementation of packageDelivered:successful: - NSSecureCoding doesn't need a full implementation for GDTUploadCoordinator - The upload coordinator doesn't track next upload times and doesn't run a completion block anymore. This prevents some lifecycle issues from occurring when restoring blocks. - An implementor of GDTUploader now determines the appropriate time for an upload. A timer will run in GDTUploadCoordinator and regularly trigger -readyToUploadWithConditions in each uploader instance. - Forcing an upload isn't as much a thing now. It simply triggers an upload attempt for that target with the 'High' priority condition present. It's up to the uploader to figure out how to deal with that. * Remove state management from the upload coordinator Refactors the GDTPrioritizer and GDTUploader interfaces, which caused some cascading changes. - The removal of -unprioritizeEvents means that the logic was moved to an implementation of packageDelivered:successful: - NSSecureCoding doesn't need a full implementation for GDTUploadCoordinator - The upload coordinator doesn't track next upload times and doesn't run a completion block anymore. This prevents some lifecycle issues from occurring when restoring blocks. - An implementor of GDTUploader now determines the appropriate time for an upload. A timer will run in GDTUploadCoordinator and regularly trigger -readyToUploadWithConditions in each uploader instance. - Forcing an upload isn't as much a thing now. It simply triggers an upload attempt for that target with the 'High' priority condition present. It's up to the uploader to figure out how to deal with that.