When sending a list of items that can potentially get very large, a useful strategy is to break that list up over multiple calls via the pagination pattern. Using pagination allows for more granular synchronization of work between the sender and receiver: instead of pummeling the receiving party with a massive list, the sender emits a few items at a time and waits for feedback that the message has been processed before continuing.
In FIDL terms, this means that rather than sending a single large vector<T>
, FIDL authors should instead convert it to an acked message of vector<T>:N
to ensure that the page size and flow control is part of the FIDL contract.
<<../examples/canvas/_callout.md>> <<../examples/key_value_store/_add_iterator_tutorial.md>>