If there are several group changes being returned at once, deserializing all of them up front can lead to excessive memory use, especially for very large groups. This commit switches to deserializing each change as it is used, which doubles the amount of CPU work (because we loop through the changes twice) in exchange for only ever having one Change object graph in memory at a time. It does also mean we can get a protobuf deserialization error a bit later in the process if the data is ever corrupted, but that shouldn't cause additional issues at these particular call sites. |
||
|---|---|---|
| .. | ||
| protobuf | ||
| Resources | ||
| src | ||
| tests | ||
| Utilities | ||
| .clang-format | ||
| .gitignore | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
SignalServiceKit
SignalServiceKit is an Objective-C library for communicating with the Signal messaging service for iOS & OS X
To use SignalServiceKit via CocoaPods add the following to your Podfile
pod 'SignalServiceKit', git: 'https://github.com/signalapp/Signal-iOS.git'