]> git.proxmox.com Git - ceph.git/blame - ceph/src/arrow/cpp/src/arrow/io/type_fwd.h
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / cpp / src / arrow / io / type_fwd.h
CommitLineData
1d09f67e
TL
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#pragma once
19
20#include "arrow/type_fwd.h"
21#include "arrow/util/visibility.h"
22
23namespace arrow {
24namespace io {
25
26struct FileMode {
27 enum type { READ, WRITE, READWRITE };
28};
29
30struct IOContext;
31struct CacheOptions;
32
33/// EXPERIMENTAL: convenience global singleton for default IOContext settings
34ARROW_EXPORT
35const IOContext& default_io_context();
36
37/// \brief Get the capacity of the global I/O thread pool
38///
39/// Return the number of worker threads in the thread pool to which
40/// Arrow dispatches various I/O-bound tasks. This is an ideal number,
41/// not necessarily the exact number of threads at a given point in time.
42///
43/// You can change this number using SetIOThreadPoolCapacity().
44ARROW_EXPORT int GetIOThreadPoolCapacity();
45
46/// \brief Set the capacity of the global I/O thread pool
47///
48/// Set the number of worker threads in the thread pool to which
49/// Arrow dispatches various I/O-bound tasks.
50///
51/// The current number is returned by GetIOThreadPoolCapacity().
52ARROW_EXPORT Status SetIOThreadPoolCapacity(int threads);
53
54class FileInterface;
55class Seekable;
56class Writable;
57class Readable;
58class OutputStream;
59class FileOutputStream;
60class InputStream;
61class ReadableFile;
62class RandomAccessFile;
63class MemoryMappedFile;
64class WritableFile;
65class ReadWriteFileInterface;
66
67class LatencyGenerator;
68
69class BufferReader;
70
71class BufferInputStream;
72class BufferOutputStream;
73class CompressedInputStream;
74class CompressedOutputStream;
75class BufferedInputStream;
76class BufferedOutputStream;
77
78} // namespace io
79} // namespace arrow