On devices with limited RAM, it is important to limit the response size of API calls. This example demonstrates how to fetch a large data in smaller chunks, and guarantee its integrity. Data gets returned in a series of request/response transactions, where each response is small enough to fit into available device RAM.
Data integrity is implemented by versioning. The idea is that the first response includes the current "version" of the data, and that version is passed to all subsequent requests. If data version changes in the middle of the request series, client fails with 'wrong version' error.