Commits

Wes McKinney authored 7e39747eec0
ARROW-267: [C++] Implement file format layout for IPC/RPC Standing up the PR to get some feedback. I still have to implement the read path for record batches and then add a test suite. I'd also like to add some documentation about the structure of the file format and some of the implicit assumptions (e.g. word alignment) -- I put a placeholder `IPC.md` document here for this. I also conformed the language re: record batches (had been using "row batch" in the C++ code) to make things more sane. Note we are not yet able to write OS files here, see ARROW-293. Will tackle that in a follow up PR, and then we should be in a position to integration test. Author: Wes McKinney <wes.mckinney@twosigma.com> Closes #139 from wesm/ARROW-267 and squashes the following commits: 9bdbbd4 [Wes McKinney] Get test suite passing, add missing metadata adapters for string, binary 4d3cc1d [Wes McKinney] cpplint 2ec1aad [Wes McKinney] Draft failing file roundtrip test 358309b [Wes McKinney] Move record batch test fixtures into test-common.h b88bce0 [Wes McKinney] Finish draft of FileReader::GetRecordBatch. Add body end offset to ipc adapter edf36e7 [Wes McKinney] Start drafting FileReader IPC implementation. Change record batch data header to write metadata size int32_t as suffix rather than prefix 95157f2 [Wes McKinney] Make record batch writes aligned on word boundaries 7c50251 [Wes McKinney] Make the interface for WriteRecordBatch more flexible (not require constructing a RecordBatch object) ab4056f [Wes McKinney] Drafting file reader/writer API. Implement BufferOutputStream and write file footers to an OutputStream 113ac7b [Wes McKinney] Draft file footer metadata write/read path with simple unit test