0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-25 23:14:13 +01:00
Commit graph

4880 commits

Author SHA1 Message Date
Jason Volk
581300ef9d ircd::spirit: Replace deprecated phoenix header. 2022-07-25 12:31:18 -07:00
Jason Volk
a44e180ff7 ircd::gpt: Fix stale comment. [ci skip]. 2022-07-22 19:11:51 -07:00
Jason Volk
5600e28ebc modules/client/search: Add case key command; case-insensitive by default. 2022-07-21 18:28:57 -07:00
Jason Volk
49a13b6eec ircd::asio: Fix undefined-var-template error; enable -fpch-instantiate-templates. 2022-07-20 18:32:38 -07:00
Jason Volk
3068466175 ircd::versions: Declare list specialization; noexcept ctors; minor cleanup. 2022-07-20 18:32:38 -07:00
Jason Volk
2d68d69b36 ircd::string_view: Attribute noreturn on insert() stub under proper conditions. 2022-07-20 18:32:38 -07:00
Jason Volk
b271007fd2 ircd::util: Fix unsafe instance_list emplace; assert for allocator state. 2022-07-20 18:32:38 -07:00
Jason Volk
5d71d848a7 ircd::util: Fix undefined-var-template linkage related warning. 2022-07-20 12:31:49 -07:00
Jason Volk
741c211848 configure: Add conditional flags for forced pch w/ clang. 2022-07-20 09:56:22 -07:00
Jason Volk
27f1ecd6cd configure: Hoist some flags out of include/ircd/Makefile. 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
ca66882b6e ircd::util: Additional pubsetbuf() convenience; inline linkages. 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
e4d517415b ircd:Ⓜ️:acquire: Add conf items to default some opts; rename and raise submit max. 2022-07-18 16:58:02 -07:00
Jason Volk
4e29b2429c ircd::string_view: Add noexcept substr(); optimize codegen for split()/rsplit(). 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
6a961e5b38 ircd::util: Add instance_map. 2022-07-18 16:58:02 -07:00
Jason Volk
80ee906a8e ircd::util: Use memfun template for proper universal forwarding; inline linkages. 2022-07-18 16:58:02 -07:00
Jason Volk
a563c7b075 ircd:Ⓜ️:device: Add missing property to tuple. 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
994702b32f ircd:Ⓜ️:filter: Add overloads to match() w/ fetch from event_idx. 2022-07-13 22:48:14 -07:00
Jason Volk
e2e0b6294f ircd:Ⓜ️:filter: Remove noexcept due to supplied json parse. 2022-07-13 22:48:13 -07:00
Jason Volk
6cfd037ebd ircd::json::tuple: Complete constexpr codepaths for keys selections. 2022-07-13 13:56:53 -07:00
Jason Volk
fe8c11dc94 ircd::util: Add a constexpr bitset. 2022-07-13 13:56:53 -07:00
Jason Volk
d87eba3485 ircd::vector_view: Add constexpr constructions. 2022-07-12 22:36:50 -07:00
Jason Volk
ec55b9b30f ircd:Ⓜ️ Implement matrix-org/matrix-spec-proposals#3316 timestamp massaging. 2022-07-12 08:41:40 -07:00
Jason Volk
6ce5ab5b1d ircd::conf: Add environ() to interface; minor cleanup/reorg. 2022-07-11 12:53:25 -07:00
Jason Volk
3992af9388 ircd:Ⓜ️:acquire: Promote and improve some log messages for non-debug builds. 2022-07-10 15:48:05 -07:00
Jason Volk
11f878209f ircd:Ⓜ️:room::events: Comment on ctors; minor assertions. 2022-07-09 14:10:28 -07:00
Jason Volk
9788ce9863 ircd:Ⓜ️:acquire: Add accumulators for acquires and fetches. 2022-07-08 23:24:06 -07:00
Jason Volk
fe55c05f11 ircd::server: Remove problematic tag move assignment operator. 2022-07-08 15:21:47 -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
6c7a978a60 ircd: Split stduse.h from stdinc.h. 2022-07-08 10:45:33 -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
c652e8172c ircd::buffer: Add explicit checked convenience type casts. 2022-07-07 16:47:55 -07:00
Jason Volk
edf0448243 ircd::buffer: Fix unconditional emission of inline variable in all units. (81b6c7b003) 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
4b61ea5387 ircd::spirit: Suppress -Wdangling-pointer in spirit::karma (gcc-12). 2022-07-05 13:01:58 -07:00
Jason Volk
03d6c32556 ircd::spirit: Fix inconsistent namespace visibilities. 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
b5781c4fac ircd::buffer::fixed_buffer: Minor cleanup. 2022-07-04 22:25:18 -07:00
Jason Volk
46cae6f24b modules/m_room_member: Support knocking membership/auth_rules. 2022-07-04 22:25:18 -07:00
Jason Volk
95d6561ca1 ircd:Ⓜ️ Improve various options related. 2022-07-04 22:25:18 -07:00
Jason Volk
55d5b4d1a7 ircd:Ⓜ️:acquire: Fix fetching map critical emplacement. 2022-07-04 22:25:18 -07:00
Jason Volk
cc1028bd8f ircd::strl: Simplify strlcat; reuse strlcpy. (related f705df096d). 2022-07-03 15:04:02 -07:00
Jason Volk
e2d1e0c3b2 ircd:Ⓜ️:init::backfill: Split term() from fini() for blocking joins. 2022-07-02 21:39:11 -07:00
Jason Volk
6d79237301 ircd:Ⓜ️:error: Improve ctor codegen; non-template out-of-line; elide fmt. 2022-07-02 18:10:38 -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
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
c60fc0ccdd ircd::util: Improve bswap template codegen. 2022-07-01 12:08:06 -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
fe199a8ed0 ircd:Ⓜ️:request: Support destination in X-Matrix authorization header. 2022-06-30 14:21:50 -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
f7e76cc9f1 ircd::json: Reuse ircd::util abstract tuple tools. 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
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
f705df096d ircd: Eliminate lambda frame from strl suite ctors. 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
3e3483a2d1 Convert static member constexprs to non-reference type. 2022-06-28 17:42:49 -07:00
Jason Volk
dcbab1999a ircd::json::tuple: Remove until(); refactor templates w/ if constexpr. 2022-06-28 12:37:14 -07:00
Jason Volk
3a4b5aa819 ircd::json::tuple: Add prop() convenience; add has_key(); redundant noexcept. 2022-06-28 12:37:14 -07:00
Jason Volk
f6f5809658 ircd::json::tuple: Add inline linkages on keys templates. 2022-06-28 12:37:14 -07:00
Jason Volk
4062d273e9 ircd: Additional _constexpr_equal utils w/ size args. 2022-06-28 12:37:14 -07:00
Jason Volk
aff1b3436e ircd: Forward declare missing karma::rule; ensure visibility of public rules. 2022-06-28 12:37:14 -07:00
Jason Volk
c0b011d5c0 ircd:Ⓜ️ Propagate noexcept through closure templates. 2022-06-28 12:37:13 -07:00
Jason Volk
888f99e205 ircd::util: Propagate closure noexcept through template. 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
7f2ac27cc5 ircd::util: Add is_pod wrapper; fix deprecation warning. 2022-06-28 12:37:13 -07:00
Jason Volk
bcbcfba6e8 ircd::json::property: Fix mistreatment of class template as universal reference. 2022-06-28 12:37:13 -07:00
Jason Volk
ffcb4de0e8 ircd:Ⓜ️🆔 Consistent static rules for now; missing name labels; typedefs. 2022-06-27 15:39:05 -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
d5c6314f1a ircd: Split info::versions into header/unit. 2022-06-23 10:50:48 -07:00
Jason Volk
61d558fc9d ircd: Define all IRCD_USE_ as integers for constexprs. 2022-06-23 09:36:44 -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
f53764cd7f ircd: Add missing tuple; add concepts. (C++20) 2022-06-20 19:44:32 -07:00
Jason Volk
99f1740289 Fixes for gcc (gnu++20) (gcc-12). 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
6784e87f5b ircd::magick: Fix evaluation of undefined macro on excluding builds. 2022-06-20 18:24:55 -07:00
Jason Volk
5a11c31d97 Revert "ircd: ISO C++ requires template on destructor names out-of-line." (gcc-11/12)
This reverts commit e3e3bd7b09.

Add -Wno-dtor-name to clang warning discovery section.
2022-06-20 17:26:39 -07:00
Jason Volk
9ffbd8be37 ircd:Ⓜ️:fed: Implement request-side for knock suite. 2022-06-19 20:27:13 -07:00
Jason Volk
da022616d9 ircd:Ⓜ️:fed: Implement request-side for MSC3030 w/ console cmd.
matrix-org/matrix-spec-proposals#3030
2022-06-19 20:27:13 -07:00
Jason Volk
3807a4d832 ircd:Ⓜ️:fed: Add hierarchy request w/ console cmd. 2022-06-19 20:27:13 -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
288647598c ircd::json: Fix tuple template trait deprecated for C++20. 2022-06-19 20:14:23 -07:00
Jason Volk
211ea6ba55 ircd: Fixes for macro collision (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
31e078506a ircd::simt: Store divisor in mean state for now. 2022-06-19 20:14:22 -07:00
Jason Volk
7006391936 ircd::spirit: Enable qi::rule/karma::rule overrides for clang. 2022-06-19 20:14:22 -07:00
Jason Volk
ffa62d0f4c ircd::json: Remove redundant typedef; simplify.
ircd:Ⓜ️ Fix ambiguous (C++20).
2022-06-19 20:14:22 -07:00
Jason Volk
96587f2e6d modules/media: Eliminate blocks database; encode data into event content. (#139) 2022-06-19 20:14:22 -07:00
Jason Volk
ffd61f3a2f ircd:Ⓜ️ Add db::sopts passthru in dbs::write_opts. 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
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
4ae50c97d1 ircd: Various symbol internalizing and PLT reductions. 2022-06-17 21:11:54 -07:00
Jason Volk
2288e0d6fa ircd::asio: Symbol and linkage reductions for boost/asio related. 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
7cdd798958 ircd: Ensure initialized values in conditionals (pedantic; llvm). 2022-06-17 21:11:54 -07:00
Jason Volk
e3e3bd7b09 ircd: ISO C++ requires template on destructor names out-of-line. 2022-06-17 21:11:54 -07:00
Jason Volk
f4979e42f9 ircd::ctx: Fix extra semicolons on scope. 2022-06-17 21:11:54 -07:00
Jason Volk
fd54aa11e6 Fix missing virtual destructor override indications (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
50017e2555 Fix unescaped document comments possibly interpreted as commands. [ci skip] 2022-06-17 21:11:54 -07:00
Jason Volk
c15272a5f3 ircd::util: Fix reinterpret cast of reference; add inline linkages; noexcept. 2022-06-17 21:11:54 -07:00
Jason Volk
c9ec0b3923 ircd::spirit: Split substring_view into header. 2022-06-17 21:11:54 -07:00
Jason Volk
597b4d4afb ircd::spirit: Add optimized interpositions for qi char_range / string_parse. 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
08c35bac0f ircd::spirit: Optimize karma::rule toward eliminating indirect branching. 2022-06-17 21:11:54 -07:00
Jason Volk
9ef44f9295 ircd::spirit: Split custom_parser into header. 2022-06-17 21:11:54 -07:00
Jason Volk
401f61e564 ircd::json: Remove unit linkages for constant expression values. 2022-06-17 21:11:54 -07:00
Jason Volk
9a982c814b ircd::simd: Eliminate unnecessary relocs from inline local statics. 2022-06-17 21:11:54 -07:00
Jason Volk
e43b3f5fd6 include/ircd/Makefile: Use cp -u to elide unnecessary copy for faster make install. 2022-06-17 21:11:54 -07:00
Jason Volk
4d207e3edc ircd::buffer: Minor simplify conversion construction casts. 2022-06-17 21:11:54 -07:00
Jason Volk
48486c2e27 ircd::json::tuple: Add missing linkages; branch expect; constness. 2022-06-17 21:11:53 -07:00
Jason Volk
4821f6d2db ircd: Move any externally used interfaces out of init objects. 2022-06-17 21:11:53 -07:00
Jason Volk
e51b855f2b ircd: Various symbol surface reductions and sorting. 2022-06-17 21:11:53 -07:00
Jason Volk
04558290c0 ircd: Toward improving cold/unlikely section population. 2022-06-17 21:11:53 -07:00
Jason Volk
f5d3da8d3f ircd: Add hours/minutes to lex_cast specialization suite. 2022-06-17 21:11:53 -07:00
Jason Volk
29fda76769 ircd::spirit: Optimize functor, qi::rule toward eliminating indirect branching. 2022-06-17 21:11:53 -07:00
Jason Volk
d59d1a8060 ircd::spirit: Additional boost iterator ctors for substring_view. 2022-06-17 21:11:53 -07:00
Jason Volk
03c69de789 ircd::spirit: Add nothrow/noexcept overload to force no EH at callsite. 2022-06-17 21:11:53 -07:00
Jason Volk
b1f1e003d2 ircd::spirit: Fix missing include guard/pragma; minor cleanup/comments. 2022-06-17 21:11:53 -07:00
Jason Volk
19ede0f625 ircd::json: Remove unnecessary global object linkage. 2022-06-17 21:11:53 -07:00
Jason Volk
3d672ab9bc Rename common instance variables of window_buffer for clarity. 2022-06-17 21:11:53 -07:00
Jason Volk
a10bc71fbf ircd: Improve deps list for precompiled header related. 2022-06-17 21:11:53 -07:00
Jason Volk
19210277a2 ircd:🆑:data: Add master() method for associated memobject. 2022-06-17 21:11:53 -07:00
Jason Volk
63a5a6dfdd ircd::vector_view: Suppress deprecated-copy warning here for now. 2022-06-17 21:11:53 -07:00
Jason Volk
a600d59367 ircd::allocator: Reinterface for attributed function instrumentation. 2022-06-17 21:11:53 -07:00
Jason Volk
96b101cd6f ircd: Promote assume() to macro in portable.h.
Revert "ircd: Add assume() convenience wrapping for __builtin_assume()."

This reverts commit 597f60cf6b.
2022-06-17 21:11:53 -07:00
Jason Volk
0fbbf1853f ircd::tokens: Simplify interface argument passing. 2022-06-17 21:11:53 -07:00
Jason Volk
0433ea573a ircd::run::handler: Distill handler prototype for direct constructions. 2022-06-17 21:11:53 -07:00
Jason Volk
61c64ccb08 ircd::simd: Zero-init result to not burden caller w/ partial inits. 2022-06-17 21:11:53 -07:00
Jason Volk
41c6c35b4c ircd::simd: De-inline output sink portion of print template. 2022-06-17 21:11:53 -07:00
Jason Volk
628141c78d ircd::simd: Add template defaulting inference for ergonomic usage of print(). 2022-06-17 21:11:53 -07:00
Jason Volk
d2833cb3e2 ircd:🆑 Improve code object semantics; handle related. 2022-06-17 21:11:53 -07:00