Summary
To implement factories, we need a way to stream data in two separate but
synchronized streams.
This PR introduces the concept of "multi filter":
clients enter multi-filter mode by specifying multiple filters in the
request. To keep backward compatibility, the server still accepts the
old requests.
batch size must be 1.
response includes one block for each filter (using the same field as
batched block data, hence why batch size must be 1).
if no filter matches, the block/batch is skipped (like the standard
version).
if a filter doesn't match, a block with all default values and empty = true is inserted to keep ordering between blocks.
Summary To implement factories, we need a way to stream data in two separate but synchronized streams. This PR introduces the concept of "multi filter":
empty = true
is inserted to keep ordering between blocks.