]> git.proxmox.com Git - ceph.git/blob - ceph/src/arrow/docs/source/cpp/api/ipc.rst
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / docs / source / cpp / api / ipc.rst
1 .. Licensed to the Apache Software Foundation (ASF) under one
2 .. or more contributor license agreements. See the NOTICE file
3 .. distributed with this work for additional information
4 .. regarding copyright ownership. The ASF licenses this file
5 .. to you under the Apache License, Version 2.0 (the
6 .. "License"); you may not use this file except in compliance
7 .. with the License. You may obtain a copy of the License at
8
9 .. http://www.apache.org/licenses/LICENSE-2.0
10
11 .. Unless required by applicable law or agreed to in writing,
12 .. software distributed under the License is distributed on an
13 .. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14 .. KIND, either express or implied. See the License for the
15 .. specific language governing permissions and limitations
16 .. under the License.
17
18 .. default-domain:: cpp
19 .. highlight:: cpp
20
21 =========
22 Arrow IPC
23 =========
24
25 IPC options
26 ===========
27
28 .. doxygenstruct:: arrow::ipc::IpcReadOptions
29 :members:
30
31 .. doxygenstruct:: arrow::ipc::IpcWriteOptions
32 :members:
33
34 Reading IPC streams and files
35 =============================
36
37 Blocking API
38 ------------
39
40 Use either of these two classes, depending on which IPC format you want
41 to read. The file format requires a random-access file, while the stream
42 format only requires a sequential input stream.
43
44 .. doxygenclass:: arrow::ipc::RecordBatchStreamReader
45 :members:
46
47 .. doxygenclass:: arrow::ipc::RecordBatchFileReader
48 :members:
49
50 Event-driven API
51 ----------------
52
53 To read an IPC stream in event-driven fashion, you must implement a
54 :class:`~arrow::ipc::Listener` subclass that you will pass to
55 :class:`~arrow::ipc::StreamDecoder`.
56
57 .. doxygenclass:: arrow::ipc::Listener
58 :members:
59
60 .. doxygenclass:: arrow::ipc::StreamDecoder
61 :members:
62
63 Statistics
64 ----------
65
66 .. doxygenstruct:: arrow::ipc::ReadStats
67 :members:
68
69 Writing IPC streams and files
70 =============================
71
72 Blocking API
73 ------------
74
75 The IPC stream format is only optionally terminated, whereas the IPC file format
76 must include a terminating footer. Thus a writer of the IPC file format must be
77 explicitly finalized with :func:`~arrow::ipc::RecordBatchWriter::Close()` or the resulting
78 file will be corrupt.
79
80 .. doxygengroup:: record-batch-writer-factories
81 :content-only:
82
83 .. doxygenclass:: arrow::ipc::RecordBatchWriter
84 :members:
85
86 Statistics
87 ----------
88
89 .. doxygenstruct:: arrow::ipc::WriteStats
90 :members: