0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-16 06:51:08 +01:00
Commit graph

5690 commits

Author SHA1 Message Date
Jason Volk
04559a28f6 ircd:Ⓜ️:user::rooms: Add prefetch loop. 2022-08-19 20:57:35 -07:00
Jason Volk
df6d463623 ircd:Ⓜ️ Add membership prefetch suite. 2022-08-19 20:57:35 -07:00
Jason Volk
7a90776056 ircd:Ⓜ️ Additional pretty_msgline() opts for time ago / body delim. 2022-08-19 11:13:57 -07:00
Jason Volk
f931912f3e ircd:Ⓜ️:event::fetch: Improve codegen w/ dtor linkage. 2022-08-18 15:01:38 -07:00
Jason Volk
c010920f7c ircd:Ⓜ️:relates: Add reverse iteration; consolidate abi, inline interface. 2022-08-17 18:15:30 -07:00
Jason Volk
e2017efcce ircd:Ⓜ️:event::refs: Add reverse iteration; inline interface. 2022-08-17 18:15:30 -07:00
Jason Volk
727749e9de ircd:Ⓜ️:room: Add interface to room messages. 2022-08-17 13:05:39 -07:00
Jason Volk
2bf10c1234 ircd:Ⓜ️:relates: Add sender checking; move option bits to class member. 2022-08-17 11:09:05 -07:00
Jason Volk
47c6ae1c31 ircd:Ⓜ️ Add parallel binary operated comparison suite to query interface. 2022-08-17 11:09:05 -07:00
Jason Volk
6885bafc49 ircd:Ⓜ️ Add parallel get() suite to interface. 2022-08-17 11:09:05 -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
206afc25b0 ircd:Ⓜ️:room::message: Add interface for edit contents. 2022-08-16 13:43:00 -07:00
Jason Volk
fedf1e976a ircd:Ⓜ️:relates: Add interface around the rel_type for the relation ref type. 2022-08-16 13:43:00 -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
8461fbcbd5 ircd:Ⓜ️:room::message: Add url to tuple; minor reorg. 2022-08-14 17:27:32 -07:00
Jason Volk
ed50a9f360 ircd:Ⓜ️:media: Optimize file room writes w/ journal bypass. 2022-08-11 13:28:12 -07:00
Jason Volk
479d22466e ircd:Ⓜ️:vm: Add starting timestamp to eval state w/ specific event eval timestamp.
modules/console: Add eval timestamps to output of vm cmd table.
2022-08-10 18:20:52 -07:00
Jason Volk
94d9444988 ircd:Ⓜ️ Add granular options for pretty_msgline(). 2022-08-10 18:20:52 -07:00
Jason Volk
f6b17e5fed ircd:Ⓜ️ Move pretty.h out of event/ dir. 2022-08-10 18:20:52 -07:00
Jason Volk
c32928981b ircd:Ⓜ️:dbs::init: Split unit; preliminary schema update vector; ctor exceptions. 2022-08-06 22:47:59 -07:00
Jason Volk
49615517cc ircd:Ⓜ️:room::content: Move prefetch buffer to class member. 2022-08-05 18:38:32 -07:00
Jason Volk
e45dc31797 ircd:Ⓜ️:vm::eval: Use closure_bool for_each(); reduce direct instance_list iteration. 2022-08-05 17:57:19 -07:00
Jason Volk
14eb419045 ircd:Ⓜ️ Add m.in_reply_to to m::relates tuple and reuse in m::room::message. 2022-08-04 18:25:49 -07:00
Jason Volk
b75f0ea1ef ircd:Ⓜ️ Move multi-key fetch from vm:: to keys::; minor reorg. 2022-08-03 20:26:33 -07:00
Jason Volk
35199dffb3 ircd:Ⓜ️:room::message: Add interface to extract rich reply fallbacks. 2022-08-02 20:49:21 -07:00
Jason Volk
504e0a1883 ircd:Ⓜ️:room::message: Name m.relates_to in the tuple. 2022-08-02 15:56:04 -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
0ba3c5629f ircd:Ⓜ️:room::events::missing: Dedup inner loop; optimize w/ parallel query. 2022-07-30 20:58:59 -07:00
Jason Volk
33094ece07 ircd::gpt: Fix doc comment on count vs. tokens. [ci skip] 2022-07-30 19:25:32 -07:00
Jason Volk
03262e09a9 ircd:Ⓜ️:dbs: Add conf items for less aggressive compact trig on large columns. 2022-07-29 23:56:52 -07:00
Jason Volk
e38825030f ircd::db: Add descriptor field for level0 compaction trigger. 2022-07-29 22:30:09 -07:00
Jason Volk
a945137eff ircd::log: Cold section log::critical constructions. 2022-07-26 15:46:09 -07:00
Jason Volk
f0569247f4 Makefiles: Fix bashisms. (#88) 2022-07-25 14:08:26 -07:00
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