Signal-iOS/SignalServiceKit
Jordan Rose 58a688ad61 Lazily deserialize individual group changes
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.
2022-01-20 12:00:50 -08:00
..
protobuf Lazily deserialize individual group changes 2022-01-20 12:00:50 -08:00
Resources Store badge receipt credential presentation on the durable job 2021-11-17 15:14:03 -08:00
src Lazily deserialize individual group changes 2022-01-20 12:00:50 -08:00
tests SSK: Remove unused OWSSignalAddress 2022-01-11 10:03:48 -08:00
Utilities Convert to just using CocoaPods for dependencies 2020-01-02 12:03:57 -08:00
.clang-format
.gitignore
.travis.yml
CONTRIBUTING.md Update URL in documentation 2021-08-24 22:46:06 -05:00
LICENSE
README.md Convert to just using CocoaPods for dependencies 2020-01-02 12:03:57 -08:00

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'