0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-12 16:43:07 +01:00
Commit graph

5935 commits

Author SHA1 Message Date
Jason Volk
2a608b8a7c ircd:🆑 Clarify value in banner w/ pretty bytes. 2022-09-13 18:30:40 -07:00
Jason Volk
ae9f2c1199 ircd::fs: Add asio glue for io_uring read/write. (closes #37) 2022-09-10 12:00:54 -07:00
Jason Volk
da55b185da Enable io_uring on supporting platforms. (#37)
docker: Add liburing to base packages. (#37)
2022-09-10 12:00:48 -07:00
Jason Volk
dcf60ae248 ircd::db::env: Use opts.all for sequential file read. 2022-09-10 11:40:33 -07:00
Jason Volk
83799b555c ircd::fs: Add optional init for aio. 2022-09-10 11:40:33 -07:00
Jason Volk
10201c11eb ircd::fs: Add autoconfs for sync(2) etc. 2022-09-10 11:40:33 -07:00
Jason Volk
dcbeb3fd4a ircd::fs: Remove fs::iou. 2022-09-10 11:40:33 -07:00
Jason Volk
ffac5de052 ircd::server: Fix introduced macro conflict. (gcc-9) 2022-09-10 11:40:33 -07:00
Jason Volk
30701b24cc ircd::ctx: Fixes for boost 1.80. 2022-09-10 11:29:29 -07:00
Jason Volk
f1da346a1f ircd:🆑 Suppress CL_DEVICE_NOT_FOUND rather than throw on init. 2022-08-27 13:38:35 -07:00
Jason Volk
966ef2ca95 ircd:🆑 Log warnings on init rather than silent fallback.
ircd:🆑 Fix error msg; improve msg.
2022-08-27 13:38:35 -07:00
Jason Volk
a3226b3b38 ircd::info: Proper prctl check for cpuid availability. 2022-08-27 01:52:05 -07:00
Jason Volk
a2826400a8 ircd::gpt::samp: Sample is done when dispatch=0 on interrupt without accept. 2022-08-27 01:52:05 -07:00
Jason Volk
02cd570b5e configure: Remove Mesa cruft.
ircd/Makefile: Use CC prog variable.
2022-08-27 01:51:49 -07:00
Jason Volk
1dd22c8e05 ircd::gpt::task: Count tokens at start rather than input vector size. 2022-08-19 20:57:35 -07:00
Jason Volk
47ce9ff839 ircd::db::column: Add parallel fetch closure for zero-copy closure. 2022-08-16 22:21:52 -07:00
Jason Volk
d1a8724296 ircd: Use fmt flags to ago(); add flag for blank postfix label. 2022-08-16 21:20:32 -07:00
Jason Volk
31c1e834bd ircd::net::dns::resolver: Question must match or this is the mist of a packet spray. 2022-08-15 12:38:21 -07:00
Jason Volk
387b60cb15 ircd::net::dns::cache: Increase the default nxdomain ttl. 2022-08-12 16:22:41 -07:00
Jason Volk
f91863716a ircd::net::dns: Promote send/recv debuglog msgs to release mode. 2022-08-12 16:08:56 -07:00
Jason Volk
5ce08521d5 ircd::net::dns: Perturb the minimum TTL to avoid groupings on expiration. 2022-08-12 16:08:56 -07:00
Jason Volk
f9dffbfcbc ircd::resource::method: Fix condition wait without context. 2022-08-10 18:20:52 -07:00
Jason Volk
d978a02b91 ircd::rfc3986: Fix errant signed integer check w/ qi::int_parser. 2022-08-02 13:24:26 -07:00
Jason Volk
cd4b1714d9 ircd::rfc3986: Fix grammar throwing out of url::decode_unsafe(). 2022-08-02 13:18:58 -07:00
Jason Volk
1f947f982c ircd::gpt: Cache pipe::code instance in shared_ptr for task reuse. 2022-07-31 02:46:05 -07:00
Jason Volk
e38825030f ircd::db: Add descriptor field for level0 compaction trigger. 2022-07-29 22:30:09 -07:00
Jason Volk
3b967b6746 ircd::mods: Add conf item for static dtor check; remove redundant debuglog. 2022-07-27 17:36:50 -07:00
Jason Volk
69dcd7acd9 ircd::mods: Eliminate RTLD_DEEPBIND by linking modules -Bsymbolic. 2022-07-27 16:22:42 -07:00
Jason Volk
2aa0986fb1 ircd::mods: Skip unload for instances w/ null headers or unconstructed. 2022-07-27 15:40:12 -07:00
Jason Volk
5506335502 ircd::mods: Fix reference to temporary (GCC). 2022-07-27 15:11:07 -07:00
Jason Volk
c002e03242 configure: Add PROFILE_USE conditional and subst. 2022-07-27 14:32:47 -07:00
Jason Volk
9f22edf3a4 ircd::mods: Add conf item to bypass mapi check on load. 2022-07-27 10:20:02 -07:00
Jason Volk
85f5dda7e1 ircd::ctx: Fixes for boost 1.76 asio API changes. 2022-07-25 12:31:18 -07:00
Jason Volk
3068466175 ircd::versions: Declare list specialization; noexcept ctors; minor cleanup. 2022-07-20 18:32:38 -07:00
Jason Volk
065343069a Fix -flto flag compat erosion w/ gcc. 2022-07-20 12:03:59 -07:00
Jason Volk
741c211848 configure: Add conditional flags for forced pch w/ clang. 2022-07-20 09:56:22 -07:00
Jason Volk
216a2b64cb Move -include arguments to preprocessor flags. 2022-07-20 09:56:22 -07:00
Jason Volk
3a5f7e0aac ircd::resource: Implement more complex path routing. 2022-07-20 09:56:22 -07:00
Jason Volk
432f38cd06 ircd: Add tokens_split() tool w/ skip feature. 2022-07-19 14:26:23 -07:00
Jason Volk
b637eb0c50 ircd::rfc3986: Fix missing exception translation. 2022-07-19 14:26:23 -07:00
Jason Volk
b2d451b74d ircd: Add branchless optimistic assertion instrument --with-assert=opt 2022-07-18 16:58:02 -07:00
Jason Volk
65243a3410 ircd::ios: Fault handler error log; current exception in msg. 2022-07-18 16:58:02 -07:00
Jason Volk
6ef8bf28ef ircd::stringops: Fix string to string replacement error. 2022-07-18 16:58:02 -07:00
Jason Volk
93a7575352 ircd:Ⓜ️:resource: Abstract request::version to ircd::request::agent. 2022-07-18 16:58:02 -07:00
Jason Volk
24cf3569a9 ircd::resource: Deinline request aggregate ctor. 2022-07-18 16:58:02 -07:00
Jason Volk
378b9b3acf ircd::resource: Replace resources map with instance_map. 2022-07-18 16:58:02 -07:00
Jason Volk
ff8c1e92ae ircd::allocator::incore: Handle null buffer case without throwing. 2022-07-13 23:03:55 -07:00
Jason Volk
b389ae04e4 ircd::resource: Fix use after move. 2022-07-13 22:48:14 -07:00
Jason Volk
0725db0431 ircd::json: Add prepend/append tools for arrays. 2022-07-13 22:48:14 -07:00
Jason Volk
084bef0579 ircd::db: Fix additional db::prefetcher shutdown. (related cd15c17499) 2022-07-13 22:48:14 -07:00
Jason Volk
ea68ccdda1 ircd::db: Use lower level0 compaction trigger to reduce read amp. 2022-07-11 15:08:17 -07:00
Jason Volk
305c6e8075 ircd::db: Move allocator log debug to separate define; use constexpr. 2022-07-11 14:47:34 -07:00
Jason Volk
6ce5ab5b1d ircd::conf: Add environ() to interface; minor cleanup/reorg. 2022-07-11 12:53:25 -07:00
Jason Volk
8f8cb10980 ircd::lex: Fix erroneous and-predicate for is/test grammars. 2022-07-09 17:19:40 -07:00
Jason Volk
1fb853dd83 Makefile: Incremental format for remaining flags and targets. 2022-07-09 15:00:58 -07:00
Jason Volk
94e4891187 ircd::db: Add version for manifest write feature; enable reflection.
ircd::db: Add version for WAL full feature w/ reflection.

ircd::db: Add version for no-WAL manifest write error w/ reflection.

ircd::db: Add version for featured IO_MID/IO_USER levels w/ reflection.

ircd::db: Add version for Change Temperature compaction reason w/ reflection.

ircd::db: Add version for Fixed Blob GC compaction reason w/ reflection.
2022-07-09 13:43:17 -07:00
Jason Volk
22c6baeef7 ircd::db: Cleanup reflection table typedefs. 2022-07-09 13:43:17 -07:00
Jason Volk
cd15c17499 ircd::db: Fix prefetcher inhibiting some clean shutdowns. 2022-07-08 17:46:35 -07:00
Jason Volk
09021ac28b ircd::exception: Move throwing errno+system_category out-of-line. 2022-07-08 11:39:45 -07:00
Jason Volk
18b3b58709 ircd::net::acceptor: Add filter instance stub to listener. 2022-07-08 10:45:33 -07:00
Jason Volk
d3584274ac ircd::net::bpf: Add preliminary epbf support. 2022-07-08 10:45:33 -07:00
Jason Volk
11e75db293 ircd::net: Add filter attach/detach to socket option suite. 2022-07-07 16:47:55 -07:00
Jason Volk
079e273355 ircd: Upgrade to std::filesystem from boost::filesystem. 2022-07-07 16:47:55 -07:00
Jason Volk
3451a989ac Add noexcept to various lambdas (gcc-12). 2022-07-07 16:47:55 -07:00
Jason Volk
7d60b6fddc ircd::server: Ensure throwing in case error is set w/o exception; minor cleanup. 2022-07-05 13:01:58 -07:00
Jason Volk
8ba5548a2e ircd::mods: Improve paths encapsulation; fix warning. (gcc-12) 2022-07-04 22:25:18 -07:00
Jason Volk
6a5e7acee1 ircd::lex: Explicit uninitialized initialization for -Wmaybe-unitialized (gcc-12).
ircd::net: Explicit uninitialized initialization for -Wmaybe-unitialized (gcc-12).
2022-07-04 22:25:18 -07:00
Jason Volk
613e309d7e ircd::lex: Require tight input strings for conversion to integral. 2022-07-04 22:25:18 -07:00
Jason Volk
f584ee0d2c ircd::info: Minor cleanup/formatting w/ hex literals; fix warnings (gcc-12). 2022-07-04 22:25:18 -07:00
Jason Volk
32d92b96ca ircd::db::prefetcher: Additional debuglog in shutdown sequence. 2022-07-02 21:39:11 -07:00
Jason Volk
3a3da12051 ircd::server::request: Even more granular log facilities for request/response. 2022-07-02 18:10:38 -07:00
Jason Volk
7cb4e7a9d1 ircd::json: Use lowercase escaped control unicodes per matrix canonical. 2022-07-02 14:32:01 -07:00
Jason Volk
94a6cd0d90 ircd::db: Simplify options wrappings; eliminate bitflags. 2022-07-02 12:42:09 -07:00
Jason Volk
6d2da3b4f1 ircd::gpt::task: Refactor generator interface to member functions. 2022-07-01 20:17:56 -07:00
Jason Volk
56d944f33e ircd::gpt::vocab: Add space-prefix convenience argument. 2022-07-01 17:36:45 -07:00
Jason Volk
08d39efca6 ircd::net: Fix double-jumps through interface glues; internalize symbols. 2022-07-01 13:36:04 -07:00
Jason Volk
a013674beb ircd::net: Fix undefined reinterpret pun. 2022-07-01 13:32:55 -07:00
Jason Volk
81b6c7b003 ircd::buffer: Hoist null_buffer to inline variable; move buffers typedefs. 2022-07-01 09:49:44 -07:00
Jason Volk
d68f261036 ircd::gpt::pipe: Simplify init/fini w/ run::level::QUIT handler. 2022-06-30 16:04:31 -07:00
Jason Volk
69ca5e3395 ircd::gpt: Fix fs::fd/map options regressions. 2022-06-30 15:55:23 -07:00
Jason Volk
bd00907922 ircd::json: Allow literal null for array/object ::empty(); inline. 2022-06-30 14:21:50 -07:00
Jason Volk
642165a8bd ircd::util: Refactor tuple tools w/ if constexpr; remove until(). 2022-06-30 14:21:50 -07:00
Jason Volk
8a20079122 ircd::db: Simplify ABI version detection; remove extern symbols. 2022-06-29 18:31:35 -07:00
Jason Volk
8b6679c5e9 ircd::ctx::dock: Eliminate inlined template complex; optimize linkages. 2022-06-29 18:20:46 -07:00
Jason Volk
29b0523dfc ircd::ios: Consolidate notification interface for now; add atexit related. 2022-06-29 18:20:46 -07:00
Jason Volk
c664963e8d ircd: Fix possible null directive arguments (-Wformat-truncation gcc-11). 2022-06-29 14:59:57 -07:00
Jason Volk
5a4a395fc2 Add noexcept to various lambdas (gcc-11). 2022-06-29 14:42:42 -07:00
Jason Volk
b677eeb4b7 Allow various unsigned conversions.
construct: Fix comparison signedness warning.
2022-06-29 14:21:36 -07:00
Jason Volk
08fce729c5 Fix redundant moves (gcc-11). 2022-06-29 13:26:01 -07:00
Jason Volk
9914fe33d1 ircd::rfc3896: Eliminate throwing expectations for port suffix grammars. 2022-06-28 22:43:48 -07:00
Jason Volk
2d3fe97fe9 ircd::db::database: Fix fdelections() call in read-only mode; minor cleanup. 2022-06-28 22:43:48 -07:00
Jason Volk
dfba309423 ircd::mods: Relax pimpl symbol visibility (regression e09a48ec7e gcc-9) 2022-06-28 17:42:49 -07:00
Jason Volk
a0071c7956 ircd::db::database::env: Replace panic throws into noexcepts. 2022-06-28 12:37:13 -07:00
Jason Volk
55f83976d6 ircd::ctx: Truncate comment; explain why interposition was made. [ci skip] 2022-06-28 12:37:13 -07:00
Jason Volk
45effc15d8 ircd::buffer: Fix warning from dependent type munge (gcc-11).
ircd:Ⓜ️:fetch: Fix non-trivial aggregate (gcc-10).

ircd::ctx::ole: Fix anonymous may be used uninitialized (gcc-11).
2022-06-28 12:37:13 -07:00
Jason Volk
110610f774 ircd:Ⓜ️ Tweak symbol related linkflags for library.
Fix $EXTRA_ flags placement; improve Makefile formatting.
2022-06-24 21:31:05 -07:00
Jason Volk
4bf297e5e7 Revert "ircd::db::database::env: Reduce file size system calls with cache pattern."
This reverts commit 671120415f.
2022-06-23 14:23:51 -07:00
Jason Volk
d5c6314f1a ircd: Split info::versions into header/unit. 2022-06-23 10:50:48 -07:00
Jason Volk
65d27f327e ircd::db::database::env: Fix missing at-end semantics for ReopenWritableFile(). 2022-06-23 09:38:46 -07:00
Jason Volk
61d558fc9d ircd: Define all IRCD_USE_ as integers for constexprs. 2022-06-23 09:36:44 -07:00
Jason Volk
ee59e76305 ircd::http: Fix headers view parse to cover expected trailing crlf. 2022-06-22 15:33:38 -07:00
Jason Volk
01c2c55054 ircd::http: Simplify line ctor; move eoi into grammar. 2022-06-22 15:31:46 -07:00
Jason Volk
e70d26b23e ircd::net::dns: Allow undefined symbol ignored null by libnss_db. 2022-06-22 11:04:36 -07:00
Jason Volk
830a5b9d2a ircd::mods::ldso: Improve interposition of exceptions for runtime behavior switching. 2022-06-22 11:04:18 -07:00
Jason Volk
7b2af2cf1c ircd::png: Exclude dependent functions when build missing libpng. 2022-06-21 22:31:55 -07:00
Jason Volk
3b9031fef5 ircd::allocator: Fix conflicting hook declarations for GNU allocator. 2022-06-20 18:36:11 -07:00
Jason Volk
a71deec959 ircd:🆑 Clarify and improve complex cast (gcc-8). 2022-06-20 18:24:55 -07:00
Jason Volk
796058d8e9 ircd::db: Remove deprecated seqnum; related 58a346f18b. 2022-06-20 18:24:55 -07:00
Jason Volk
d36024cdb8 ircd::allocator: Support mallinfo2() for deprecated mallinfo(3) for GNU allocator. 2022-06-20 18:24:55 -07:00
Jason Volk
e6ace21eda ircd:🆑 Fix conf item value extraction (gcc-9). 2022-06-19 22:05:21 -07:00
Jason Volk
30d7c4649c ircd::db: Extract stats value before debug logging (gcc-8). 2022-06-19 20:57:46 -07:00
Jason Volk
e403c20cc6 ircd::fs::aio: Split max events query into init method. 2022-06-19 20:27:13 -07:00
Jason Volk
56bbc04527 ircd::fs::map: Add ergonomic trailing-opts ctor. 2022-06-19 20:27:13 -07:00
Jason Volk
b815ac8bec ircd::fs: Eliminate user-defined ctors on various opts for designated inits. 2022-06-19 20:27:13 -07:00
Jason Volk
0300a29f9c ircd::mods::ldso: Attribute compatibility for gcc-8. 2022-06-19 20:14:23 -07:00
Jason Volk
5faadaa000 ircd::http: Fix binary op (gnu++20). 2022-06-19 20:14:23 -07:00
Jason Volk
78848925ee ircd::gpt: Various refactoring. 2022-06-19 20:14:22 -07:00
Jason Volk
85aa4bd8c6 ircd::http: Adjust grammar for cloudflare. 2022-06-17 21:34:02 -07:00
Jason Volk
0c281f10d0 ircd::rfc3986: Move encoder/decoder into parser ns; fix karma::grammar. 2022-06-17 21:34:02 -07:00
Jason Volk
398c1d2213 ircd::http: Optimize expressions; modernize grammars; minor cleanup. 2022-06-17 21:34:02 -07:00
Jason Volk
23b1ea516c ircd::json: Optimize expressions; modernize grammars; various cleanup. 2022-06-17 21:34:02 -07:00
Jason Volk
58718dd3b2 ircd::net::dns::service: More quick defaults; add conf item; conditional query. 2022-06-17 21:11:54 -07:00
Jason Volk
63191f736c ircd::magick: Fix debug log msg missing facility. 2022-06-17 21:11:54 -07:00
Jason Volk
445fe80d75 ircd::db::database::cache: Add constant conditional verbose debug log msgs. 2022-06-17 21:11:54 -07:00
Jason Volk
6fd08ba0a3 ircd::db: Use if constexpr for verbose seek debug log. 2022-06-17 21:11:54 -07:00
Jason Volk
671120415f ircd::db::database::env: Reduce file size system calls with cache pattern. 2022-06-17 21:11:54 -07:00
Jason Volk
58a346f18b ircd::db: Deprecate gopts::seqnum/iter_start_seqnum per RocksDB 7.x. 2022-06-17 21:11:54 -07:00
Jason Volk
9d0d45294c ircd: Attribute static dtors worthy of running to cleanup memcheck reports. 2022-06-17 21:11:54 -07:00
Jason Volk
4a18caf245 ircd::vg: Add template convenience defined(); improve call interface. 2022-06-17 21:11:54 -07:00
Jason Volk
f40b77c307 ircd::rfc3986: Simplify typedef; simplify pragma/linkage. 2022-06-17 21:11:54 -07:00
Jason Volk
ef7065fe88 ircd::db: Upgrade rocksdb::port verbose debug approach to if constexpr. 2022-06-17 21:11:54 -07:00
Jason Volk
4ae50c97d1 ircd: Various symbol internalizing and PLT reductions. 2022-06-17 21:11:54 -07:00
Jason Volk
e09a48ec7e ircd::mods: Reorg internal header w/ unit; internalized pimpls. 2022-06-17 21:11:54 -07:00
Jason Volk
169eda8da4 ircd::client: Encapsulation related reorg; still needs more work. 2022-06-17 21:11:54 -07:00
Jason Volk
8338eb0ae2 ircd::db::database::events: Log level WARNING for aborting table file create. 2022-06-17 21:11:54 -07:00
Jason Volk
c6e1f6c019 ircd::json: Fix reinterpret cast into ctrl_tab; cond uninit warning. 2022-06-17 21:11:54 -07:00
Jason Volk
7cdd798958 ircd: Ensure initialized values in conditionals (pedantic; llvm). 2022-06-17 21:11:54 -07:00
Jason Volk
df3304005a ircd: Properly scope various visibility/linkages. 2022-06-17 21:11:54 -07:00
Jason Volk
858fb6c33a configure: Preliminaries for swappable ld.gold and ld.lld. 2022-06-17 21:11:54 -07:00
Jason Volk
7356a0c2b1 ircd::mods::ldso: Use nullptr_t; add prototype for _dl_signal_exception(). 2022-06-17 21:11:54 -07:00
Jason Volk
0aeaae9584 ircd::http: Remove switch default to precipitate unhandled warning. 2022-06-17 21:11:54 -07:00
Jason Volk
0b1ff31cd7 ircd: Add DT_NEEDED for libpng to resolve references. 2022-06-17 21:11:54 -07:00
Jason Volk
dd5d122bae ircd::util: Use long double literals to indicate promotion intent (pedantic). 2022-06-17 21:11:54 -07:00
Jason Volk
4e5002eb43 ircd::openssl: Fix argument narrowing from default constants. 2022-06-17 21:11:54 -07:00
Jason Volk
7bc7703a7b ircd::db::database::sst: Disable sst tool due to linkage variance between versions. 2022-06-17 21:11:54 -07:00
Jason Volk
f68e4886e8 ircd::json: Hoist various thread-locals for merging. 2022-06-17 21:11:54 -07:00
Jason Volk
4d501569bc ircd::fmt: Optimize static expression grammars. 2022-06-17 21:11:54 -07:00
Jason Volk
ba06a52368 ircd::rfc3986: Add public rule abstracting uri_parse construction. 2022-06-17 21:11:54 -07:00
Jason Volk
6f0f6a46ac ircd::rfc3896: Branch optimizations for convenience suite. 2022-06-17 21:11:54 -07:00
Jason Volk
dd4e354375 ircd::rfc3986: Additional spirit related fixes/dressings. 2022-06-17 21:11:54 -07:00