add a streaming Thrift API, to enable processing the metadata as we read it and skipping unnecessary fields.