Commit Graph

15054 Commits

Author SHA1 Message Date
Max Kellermann
7e6941acc8 util/BindMethod: add constexpr 2023-10-04 16:50:25 +02:00
Max Kellermann
63d865666e util/StringBuffer: use using instead of typedef 2023-10-04 16:50:25 +02:00
Max Kellermann
5dda4084df util/BindMethod: use using instead of typedef 2023-10-04 16:50:25 +02:00
Max Kellermann
19f9238ef0 util/BindMethod: fix indent 2023-10-04 16:50:25 +02:00
Max Kellermann
491cc8f54d net/SocketDescriptor: add {Read,Write}NoWait()
It was surprising that Read() was non-blocking, but there was no
blocking version of it.  Let's make the non-blocking behavior explicit
and change Read() to be blocking.

In order to find existing callers easily with compiler errors, this
also refactors Read()/Write() to take a std::span parameter.
2023-09-27 11:39:55 +02:00
Max Kellermann
cad35a83fb io/FileDescriptor: add Read()/Write() overloads with std::span 2023-09-27 11:14:23 +02:00
Max Kellermann
5fbe5951ab output/snapcast/Client: use SocketDescriptor::Send() 2023-09-27 10:39:48 +02:00
Max Kellermann
21590e60e6 event/FullyBufferedSocket: pass std::span to DirectWrite() 2023-09-27 10:36:56 +02:00
Max Kellermann
fe69ad0861 event/BufferedSocket: pass std::span to DirectRead() 2023-09-27 10:34:50 +02:00
Max Kellermann
9daf8f6de5 event/BufferedSocket: use std::byte 2023-09-27 10:30:09 +02:00
Max Kellermann
8ca6606323 net/SocketDescriptor: move code to Receive(), Send() 2023-09-27 10:16:21 +02:00
Max Kellermann
09a2da89a2 io/FileDescriptor: pass std::span to Full{Read,Write}() 2023-09-27 10:14:02 +02:00
Max Kellermann
9a0b3775d8 encoder/ToOutputStream: add API docs 2023-09-26 15:48:55 +02:00
Max Kellermann
2075a9a999 encoder/ToOutputStream: remove unnecessary cast 2023-09-26 15:48:22 +02:00
Max Kellermann
1090cc964a event/Loop: relicense to BSD-2
This library has been initially developed at CM4all and eventually
published here:
 https://github.com/CM4all/libcommon/tree/master/src/event/

On this copy of it, there were only minor modifications by people
other than me, and these are below the copyright threshold; only
non-epoll backends (which remain under the GPL) were developed by
somebody else.
2023-09-26 15:47:09 +02:00
Max Kellermann
26467e61a3 Merge branch 'consume_single_oneshot-restore' of https://github.com/jcorporation/MPD 2023-09-26 11:43:27 +02:00
Max Kellermann
fbdd2324a5 sticker/Database: add method Reopen() 2023-09-26 10:14:05 +02:00
Max Kellermann
dc31aa6a61 decoder/Plugin: remove unused and broken wrapper method ContainerScan() 2023-09-26 10:13:42 +02:00
Max Kellermann
5b28a987e5 util/IntrusiveForwardList: add method remove_and_dispose_if() 2023-09-22 11:32:40 +02:00
Max Kellermann
78d28063c4 util/IntrusiveForwardList: push_{front,back}() returns iterator 2023-09-22 11:32:33 +02:00
Max Kellermann
64647edbe1 lib/fmt/SocketAddressFormatter: new library 2023-09-19 11:22:39 +02:00
Max Kellermann
b36f5f1ec4 net/ToString: use #pragma once 2023-09-18 22:01:40 +02:00
Max Kellermann
592649d3f2 net/ToString: check family==AF_INET6 instead of looking for colons 2023-09-18 21:59:27 +02:00
Max Kellermann
9398599816 net/ToString: use libfmt 2023-09-18 21:58:55 +02:00
Max Kellermann
61c29473d3 net/ToString: append port only if it is non-zero 2023-09-18 11:11:00 +02:00
Max Kellermann
5fd2fc77f3 net/ToString: add null check 2023-09-18 11:08:16 +02:00
Max Kellermann
3eb0681e3d net/ToString: use SocketAddress::GetLocalRaw() 2023-09-18 10:54:52 +02:00
Max Kellermann
e831af35fd input/curl: move code to CreateEasy() 2023-09-17 14:26:47 +02:00
Max Kellermann
fb2e0f734e lib/fmt/ToBuffer: add overload with StringBuffer parameter 2023-09-16 23:05:48 +02:00
Max Kellermann
3d69f43cff event/Loop: include SocketEvent.hxx only if HAVE_THREADED_EVENT_LOOP 2023-09-16 22:55:04 +02:00
Max Kellermann
41b1931d91 event/Loop: move the poll_backend to the top
This is where all sockets are registered, so it should be initialized
first and destructed last.
2023-09-16 22:45:45 +02:00
Max Kellermann
f086444e4a lib/curl/Easy: add method SetRequestBody(std::string_view) 2023-09-16 22:39:03 +02:00
Max Kellermann
b8210bbc45 lib/avahi/Poll: fix copyright header 2023-09-16 22:39:03 +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
6f7dce6dca test/util/TestIntrusiveForwardList: implement size() only if options.constant_time_size is set 2023-09-16 22:39:03 +02:00
Max Kellermann
175524ad02 util/IntrusiveForwardList: make end() non-static
So we can have a `const` overload which is important for some
algorithm templates.
2023-09-16 22:39:03 +02:00
Max Kellermann
bfbde72676 util/Intrusive*: insertion methods return an iterator 2023-09-16 22:39:03 +02:00
Max Kellermann
f76583a08a util/IntrusiveList: document the erase() return value 2023-09-16 22:39:03 +02:00
Max Kellermann
6d39b401b5 util/IntrusiveForwardList: add method iterator_to() 2023-09-16 22:39:03 +02:00
Max Kellermann
f448bfd3f3 util/IntrusiveForwardList: add option cache_last 2023-09-16 22:39:03 +02:00
Max Kellermann
64b0587e78 util/OptionalField: new library 2023-09-16 22:39:03 +02:00
Max Kellermann
9fe813e572 util/IntrusiveForwardList: add pop_front_and_dispose() 2023-09-16 22:39:03 +02:00
Max Kellermann
b0da0bbf8b util/IntrusiveForwardList: pop_front() returns reference 2023-09-16 22:39:03 +02:00
Max Kellermann
5c44082b77 util/IntrusiveForwardList: add non-static insert_after() implementation 2023-09-16 22:39:03 +02:00
Max Kellermann
df7ed27b78 util/IntrusiveForwardList: fix move operator, really swap counter 2023-09-16 22:39:03 +02:00
Max Kellermann
bef7ce37d9 RemoteTagCache: use the pop_front() return value 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
50f0163f5f time/SystemClock: pass by value 2023-09-12 09:56:06 +02:00
Max Kellermann
481c1b6f2e lib/dbus/ReadIter: add method GetBool() 2023-09-12 09:53:58 +02:00