blob: de2bda224bf0cf4ffbe513bc86d780aacaab4728 [file] [log] [blame] [view]
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>>