Max Kellermann
cc0def15c4
Copyright year 2022
2022-07-14 17:59:35 +02:00
Max Kellermann
2670bbdcc8
io/FileOutputStream: simplify OpenTempFile() call
2022-07-14 15:47:10 +02:00
Max Kellermann
bd3e096411
io/FileOutputStream: move code to Delete()
2022-07-14 15:43:36 +02:00
Max Kellermann
270a74e53b
io/FileOutputStream: add method Sync()
2022-07-14 15:41:12 +02:00
Max Kellermann
47d103e8a1
io/FileOutputStream: add API documentation
2022-07-14 15:41:03 +02:00
Max Kellermann
cddeb2a0df
io/BufferedOutputStream: add missing #include
2022-07-13 14:11:36 +02:00
Max Kellermann
9a30286289
io/BufferedOutputStream: add libfmt support
2022-07-13 12:52:20 +02:00
Max Kellermann
0f4bf5569a
event/InotifyEvent: new class wrapping inotify
...
Replaces class InotifySource.
2022-06-30 12:05:50 +02:00
Max Kellermann
60a3aae35f
io/FileDescriptor: add OpenReadOnly() overload with directory fd
2022-06-30 10:30:54 +02:00
Max Kellermann
bc3415ce8b
Copyright year 2022
2022-06-30 09:41:53 +02:00
Max Kellermann
899eaa3307
io/FileDescriptor: add Duplicate() returning UniqueFileDescriptor
2022-06-29 17:31:37 +02:00
Max Kellermann
bb7be9a4cd
util/*FifoBuffer: migrate from WritableBuffer to std::span
2022-05-19 14:01:57 +02:00
Max Kellermann
570755f05a
io/BufferedReader: migrate from WritableBuffer to std::span
2022-05-19 13:25:19 +02:00
Max Kellermann
7d67c87a47
io/FileReader: use std::size_t
2021-12-08 19:40:22 +01:00
Philipp Wollschlegel
c072902f23
io/FileOutputStream: merge win32 function Cancel
...
Win32 had a separate implementation for FileOutputStream::CANCEL Logic
was added to the other platform function, but forgotten in this one.
This merges the functions into one, as only the call for file deletion
is platform specific.
2021-12-08 19:35:11 +01:00
Max Kellermann
80c177e9a0
io/BufferedOutputStream: add missing char* cast
2021-12-07 12:07:13 +01:00
Max Kellermann
4074db5f50
io/BufferedReader: use std::size_t
2021-12-07 11:54:11 +01:00
Max Kellermann
8c6bc02bf7
io/BufferedOutputStream: use std::byte
2021-12-07 11:47:45 +01:00
Max Kellermann
a5fa43b526
fs/io: move to io/
2021-12-03 14:35:41 +01:00
Max Kellermann
799032505e
io/uring/Queue: add method RequireSubmitEntry()
...
Fixes assertion failure when the submit queue is empty.
2021-12-03 13:58:39 +01:00
Max Kellermann
c8f174ac92
io/uring/Operation: disallow copying
2021-12-03 13:52:04 +01:00
Max Kellermann
25354b9d8c
Merge branch 'v0.22.x'
2021-03-10 21:06:12 +01:00
Max Kellermann
d61341c0e3
io/FileDescriptor: add method SetBinaryMode()
2021-03-08 17:25:36 +01:00
Max Kellermann
6cdb3ff21e
use [[gnu::pure]] instead of gcc_pure
...
This is semi-standard and doesn't require the util/Compiler.h header.
2021-02-12 18:34:16 +01:00
Max Kellermann
08e76815ba
io/FileDescriptor: use std::byte
2021-01-22 12:50:16 +01:00
Max Kellermann
b8df851414
io/FileDescriptor: use std::size_t
2020-12-02 14:56:00 +01:00
Max Kellermann
a584141cae
io/Open: add flags
parameter to OpenReadOnly()
2020-12-02 14:52:51 +01:00
Max Kellermann
d547ace749
io/FileDescriptor: use std::size_t
2020-11-30 22:27:16 +01:00
arcnmx
ad585e179f
system/FileDescriptor: fix Duplicate result
...
dup2 returns new_fd on success, not 0
2020-10-20 09:32:43 -07:00
Max Kellermann
3ac87bbcda
io/uring/Queue: use IntrusiveList<>
2020-10-18 19:37:54 +02:00
Max Kellermann
1c079e554b
io/UniqueFileDescriptor: add method Release()
2020-10-14 20:50:02 +02:00
Rosen Penev
c883f178b8
clang-tidy: use auto
...
Found with modernize-use-auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-26 21:33:35 -07:00
Max Kellermann
85bab67083
input/uring: safe cancellation
...
My concept with `class CancellableOperation` doesn't work properly,
because the kernel may continue to write to the given buffer as soon
as the read finishes.
To fix this, this commit adds `class ReadOperation` which owns the
buffer and the `struct iovec`. Instances of this class persist until
the read really finishes, even if the operation is canceled.
2020-09-23 11:07:26 +02:00
Max Kellermann
4001379663
io/uring/Operation: add method ReplaceUring()
2020-09-22 21:50:48 +02:00
Max Kellermann
382273abc5
io/uring/Operation: add API documentation
2020-09-22 21:49:48 +02:00
Max Kellermann
291be84704
Merge branch 'v0.21.x' into master
2020-09-07 20:18:40 +02:00
Max Kellermann
155fc8fa5a
include cleanup
2020-07-23 16:26:18 +02:00
Max Kellermann
62d0ceabcc
io/uring: basic Linux io_uring support
2020-05-05 17:10:17 +02:00
Max Kellermann
9815d10137
system/FileDescriptor: move to io/
2020-05-05 14:27:03 +02:00