| 994 | using BodyCompressionOffset = flatbuffers::Offset<flatbuf::BodyCompression>; |
| 995 | |
| 996 | static Status WriteFieldNodes(FBB& fbb, const std::vector<FieldMetadata>& nodes, |
| 997 | FieldNodeVector* out) { |
| 998 | std::vector<flatbuf::FieldNode> fb_nodes; |
| 999 | fb_nodes.reserve(nodes.size()); |
| 1000 | |
| 1001 | for (size_t i = 0; i < nodes.size(); ++i) { |
| 1002 | const FieldMetadata& node = nodes[i]; |
| 1003 | if (node.offset != 0) { |
| 1004 | return Status::Invalid("Field metadata for IPC must have offset 0"); |
| 1005 | } |
| 1006 | fb_nodes.emplace_back(node.length, node.null_count); |
| 1007 | } |
| 1008 | *out = fbb.CreateVectorOfStructs(fb_nodes.data(), fb_nodes.size()); |
| 1009 | return Status::OK(); |
| 1010 | } |
| 1011 | |
| 1012 | static Status WriteBuffers(FBB& fbb, const std::vector<BufferMetadata>& buffers, |
| 1013 | BufferVector* out) { |
no test coverage detected