Max Kellermann
|
1e4bf90c60
|
io, net, evnet: quote file names in error messages
|
2024-04-10 13:36:05 +02:00 |
|
Max Kellermann
|
be84b189dc
|
util, io, net, ...: use "#pragma once"
|
2024-03-11 15:32:24 +01:00 |
|
Max Kellermann
|
b63a794fbe
|
io/FileDescriptor: add [[nodiscard]]
|
2024-01-13 22:31:16 +01:00 |
|
Max Kellermann
|
08a5768764
|
fs/io/TextFile: split into class FileLineReader and AutoGunzipFileLineReader
Detangle dependencies.
|
2023-11-25 22:50:32 +01:00 |
|
Max Kellermann
|
d888bb1902
|
io/meson.build: move libfmt dependency to libio.a
|
2023-11-25 22:16:47 +01:00 |
|
Max Kellermann
|
a073db1e52
|
util/SpanCast: add ReferenceAsBytes()
|
2023-11-02 10:50:00 +01:00 |
|
Max Kellermann
|
ccbacb369b
|
io/linux/ProcPath: new library
|
2023-10-15 10:55:32 +02:00 |
|
Max Kellermann
|
e521b58b01
|
io/PeekReader: fix offset/size mixup
Regression by commit 7ccc4ddf0d
|
2023-10-08 09:55:59 +02:00 |
|
Max Kellermann
|
34182990ef
|
fs/FileInfo: add fstat() wrapper
|
2023-10-07 12:49:07 +02:00 |
|
Max Kellermann
|
1ca5d6baa6
|
io/FileReader: do not copy the path
|
2023-10-07 12:48:03 +02:00 |
|
Max Kellermann
|
9365f68454
|
io/FileReader: use GetFileInfoByHandle()
|
2023-10-07 12:47:57 +02:00 |
|
Max Kellermann
|
19c73680cf
|
io/FileReader: use uint_least64_t
|
2023-10-07 08:49:04 +02:00 |
|
Max Kellermann
|
a9ba9a5f92
|
io/Reader: add [[nodiscard]]
|
2023-10-07 08:45:59 +02:00 |
|
Max Kellermann
|
3032792563
|
io/Reader: add method ReadFull()
|
2023-10-07 08:45:52 +02:00 |
|
Max Kellermann
|
7ccc4ddf0d
|
io/Reader: use std::span
|
2023-10-07 08:44:42 +02:00 |
|
Max Kellermann
|
b9704715fb
|
io/FileOutputStream: pass dfd=-1 for absolute /proc/self/fd/N path
|
2023-10-07 08:42:35 +02:00 |
|
Max Kellermann
|
496184b1bc
|
io/Reader: add method ReadT()
|
2023-10-07 08:27:13 +02:00 |
|
Max Kellermann
|
cad35a83fb
|
io/FileDescriptor: add Read()/Write() overloads with std::span
|
2023-09-27 11:14:23 +02:00 |
|
Max Kellermann
|
09a2da89a2
|
io/FileDescriptor: pass std::span to Full{Read,Write}()
|
2023-09-27 10:14:02 +02:00 |
|
Max Kellermann
|
ce2965b5bc
|
io/uring/meson.build: disable io_uring on Android
On Android, the feature is forbidden by a seccomp filter, see
https://security.googleblog.com/2023/06/learnings-from-kctf-vrps-42-linux.html
|
2023-09-16 22:39:03 +02:00 |
|
Max Kellermann
|
18000ff499
|
io/uring/Handler: remove unused header
|
2023-09-16 22:39:03 +02:00 |
|
Max Kellermann
|
c994fe4879
|
io/uring/meson.build: detect liburing with include_type=system
This avoids breakages due to `-Wgnu-anonymous-struct`.
|
2023-09-12 10:20:58 +02:00 |
|
Max Kellermann
|
11c49da871
|
io/FileReader: remove unused method Close()
It's enough to have the destructor.
|
2023-09-12 09:53:06 +02:00 |
|
Max Kellermann
|
678828b56f
|
io/FileOutputStream: remove obsolete maybe_unused
|
2023-09-12 09:43:14 +02:00 |
|
Max Kellermann
|
859ffddea3
|
io/BufferedReader: fix ReadFullT() after std::span migration
|
2023-09-12 09:32:20 +02:00 |
|
Max Kellermann
|
d9b1f6223e
|
io/uring/Close: wrapper for io_uring_prep_close()
|
2023-05-22 21:59:44 +02:00 |
|
Max Kellermann
|
26577d1301
|
io/uring/Queue: make Submit() virtual, Push() not
This allows submitting io_uring calls without an `Operation` instance
(fire & forget). We'll do that for close().
|
2023-05-22 21:57:18 +02:00 |
|
Max Kellermann
|
8ba68fdb47
|
io/OutputStream: use std::span
|
2023-05-21 21:35:11 +02:00 |
|
Max Kellermann
|
e72d27566c
|
io/BufferedOutputStream: use std::string_view
|
2023-05-21 21:31:32 +02:00 |
|
Max Kellermann
|
02296adbba
|
io/FileDescriptor: include cleanup
|
2023-03-12 20:18:13 +01:00 |
|
Max Kellermann
|
a375f0f160
|
io/BufferedReader: add method ReadFullT()
|
2023-03-12 20:15:41 +01:00 |
|
Max Kellermann
|
a79454f6a6
|
io/FileDescriptor: fold CreateSignalFD() into the SignalFD constructor
|
2023-03-09 18:04:58 +01:00 |
|
Max Kellermann
|
b5fbfe9aa6
|
io/FileDescriptor: fold CreateEventFD() into the EventFD constructor
|
2023-03-09 17:59:56 +01:00 |
|
Max Kellermann
|
dbfd0a833d
|
io/meson.build: move sources to libio_fs.a
Only that one has a dependency on libfs.a (for class AllocatedPath
etc.).
|
2023-03-07 12:48:47 +01:00 |
|
Max Kellermann
|
415de497d3
|
use more libfmt instead of sprintf()
|
2023-03-06 19:50:53 +01:00 |
|
Max Kellermann
|
2ffc7c2088
|
io/BufferedOutputStream: remove unused method Format()
|
2023-03-06 16:27:28 +01:00 |
|
Max Kellermann
|
42f6a0441c
|
use [[gnu::...]] attributes
|
2023-03-06 16:14:15 +01:00 |
|
Max Kellermann
|
148aca23be
|
use SPDX IDs, replacing the long copyright headers
|
2023-03-06 14:59:48 +01:00 |
|
Max Kellermann
|
5c2a576546
|
io/BufferedReader: add missing include
|
2023-03-05 08:43:41 +01:00 |
|
Max Kellermann
|
8a7b7dffec
|
Merge branch 'v0.23.x'
|
2023-01-06 08:12:38 +01:00 |
|
Max Kellermann
|
f6f8751332
|
io/FileReader: add missing include for uint64_t
|
2023-01-02 14:27:47 +01:00 |
|
Max Kellermann
|
fa58db798b
|
lib/fmt/RuntimeError: new library
Replacing FormatRuntimeError().
|
2022-11-29 14:10:34 +01:00 |
|
Max Kellermann
|
66029c405f
|
system/FmtError: move to lib/fmt/
|
2022-11-28 23:09:27 +01:00 |
|
Max Kellermann
|
96ae659fdf
|
system/FmtError: new library
Replaces the Format*() functions in system/Error.hxx.
|
2022-11-28 21:56:12 +01:00 |
|
Max Kellermann
|
88d5347d94
|
Log, client/Response, io/BufferedOutputStream: remove unnecessary libfmt include
|
2022-11-28 20:44:48 +01:00 |
|
Max Kellermann
|
7f3868727b
|
Log, client/Response, io/BufferedOutputStream: drop support for libfmt < 7
Remove some compatibility code.
|
2022-11-28 20:17:16 +01:00 |
|
Max Kellermann
|
fb5d77158a
|
util/IntrusiveList: add enum LinkMode
Compile-time code simplification.
|
2022-11-13 08:15:47 +01:00 |
|
Max Kellermann
|
bbc82a9892
|
io/FileDescriptor, net/SocketDescriptor: make lots of methods "const"
Only the file descriptor value itself is const, but the file itself
may be readable/writable.
|
2022-11-09 19:19:20 +01:00 |
|
Max Kellermann
|
69596106d3
|
io/FileDescriptor: add pread() wrapper
|
2022-11-09 19:18:41 +01:00 |
|
Max Kellermann
|
0c98d93e9a
|
io/FileOutputStream: write to temporary file if O_TMPFILE is not available
|
2022-07-14 18:45:33 +02:00 |
|