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

5560 commits

Author SHA1 Message Date
Jason Volk
6f3adfd160 ircd::fs::map: Add static opts instance w/ default ctor argument. 2021-03-16 12:58:22 -07:00
Jason Volk
734948863f ircd::gpt::vocab: Add token debug string tool. 2021-03-09 04:50:19 -08:00
Jason Volk
33a1ffd4bf ircd::gpt: Add basic interface; add options, context. 2021-03-09 04:50:19 -08:00
Jason Volk
4458235dfa ircd::gpt: More Matrix Than Matrix. 2021-03-09 04:50:19 -08:00
Jason Volk
53c4260a21 ircd::gpt: Add Basic Latin (lower) and C0 replacement LUT; various. 2021-03-09 04:50:19 -08:00
Jason Volk
925eee5209 ircd::fpe: Add classification reflector; additional noexcept linkages. 2021-03-07 23:35:58 -08:00
Jason Volk
4abf868b39 ircd: Move db fixes compile flags into make variable. 2021-03-07 23:35:58 -08:00
Jason Volk
014d0281d7 ircd::math: Start supplemental library; move log2 constexprs from util. 2021-03-05 13:02:12 -08:00
Jason Volk
b55d670af1 ircd::spirit: Fixes for thread_local generator_state linkage related. 2021-03-05 13:02:12 -08:00
Jason Volk
cc9df943a7 ircd: Refactor lex_cast impl to boost spirit rather than boost conversions. 2021-03-05 13:02:12 -08:00
Jason Volk
29b99dcf4d ircd::gpt: Split vocab related into separate unit. 2021-03-02 11:13:59 -08:00
Jason Volk
59f9aca938 ircd::json: Relax fractional precision lexing. 2021-03-01 16:52:57 -08:00
Jason Volk
5a187da4b1 ircd::fs::dev: Add condition to skip non-device name without exception. 2021-03-01 16:52:57 -08:00
Jason Volk
57f9d3fdfb ircd::gpt: Add vocabulary tokenization; byte-pair merge encoding for natural language. 2021-02-26 14:52:33 -08:00
Jason Volk
3621fe025a ircd::json: Fix masking around some skipped characters in the unescaper. 2021-02-26 14:52:33 -08:00
Jason Volk
ee904d9b33 ircd::simd: Add preliminary character print utils to suite. 2021-02-25 14:38:52 -08:00
Jason Volk
4915ced6ce ircd::icu: Add bulk vector utility overloads. 2021-02-25 14:38:52 -08:00
Jason Volk
f35e0749dd ircd::utf: Simplify scaling to emulated extended vectors. 2021-02-25 14:38:52 -08:00
Jason Volk
47f6053a76 ircd::db: Eliminate the file mgmt thread interposition. 2021-02-13 02:20:35 -08:00
Jason Volk
90ac0d1a63 ircd:🆑 Simplify various casts; minor cleanup. 2021-02-11 03:21:08 -08:00
Jason Volk
328fce79a3 ircd:🆑 Abort the 1.x CL_MAP from interface for now. 2021-02-11 03:21:08 -08:00
Jason Volk
d338e589f5 ircd::allocator: Add trapdoor on size and alignment for hugepage advise. 2021-02-10 23:38:44 -08:00
Jason Volk
b39f574ba9 ircd::info: Probe characteristics for transparent hugepage support. 2021-02-10 02:14:15 -08:00
Jason Volk
336200d646 ircd::db::prefetcher: Increase worker stack size. 2021-02-04 21:25:10 -08:00
Jason Volk
5fb3710d4f ircd::resource: Add third debuglog for actual request end after chunks xfer. 2021-02-03 18:01:15 -08:00
Jason Volk
39c2c1fc58 ircd::resource: Improve log msg clarity; label branch. 2021-02-03 18:01:15 -08:00
Jason Volk
a1420b25a3 ircd::http: Add log level severity(category) convenience tool; tweak category table. 2021-02-03 18:01:15 -08:00
Jason Volk
66639ee119 ircd::png: Elaborate callback surface; add logger to prevent libpng writes to stderr. 2021-01-23 10:57:01 -08:00
Jason Volk
ddfba500ad ircd::png: Add acTL info detection to decide animation from buffer. 2021-01-21 22:08:32 -08:00
Jason Volk
690e641e90 ircd::fs: Fix erroneous/redundant fallthrough to blocking flush. 2021-01-21 20:00:32 -08:00
Jason Volk
7aff759abc ircd::png: Add unit; start header; stub. 2021-01-15 19:55:28 -08:00
Jason Volk
1d46cf9f5f ircd:🆑 Enable configure by default; disable runtime by default. 2021-01-15 19:55:28 -08:00
Jason Volk
78133c59cd configure: Add libpng detections and configurations. 2021-01-15 18:01:53 -08:00
Jason Volk
3549ab473a ircd:🆑 Load the pipe dynamically after configuring environment. 2021-01-14 23:44:49 -08:00
Jason Volk
c34045c9d8 ircd:🆑 Prevent notify to same context in callback. 2021-01-14 23:44:31 -08:00
Jason Volk
869ce974bf ircd:🆑 Add primary interface component handle classes. 2021-01-12 13:55:45 -08:00
Jason Volk
5ad43d8817 ircd:🆑 Add library interfacing utils; add init, infolog device banner.
ircd:🆑 Add context and device queue related init/dtor.
2021-01-08 01:37:45 -08:00
Jason Volk
3e5f297605 ircd::log: Add condition to further negate mask negation of stderr for startup in -quiet mode. 2021-01-08 01:37:45 -08:00
Jason Volk
0d641aca00 ircd::log: Fix comments; named constants for width values. 2021-01-08 01:37:45 -08:00
Jason Volk
4d02eb2286 ircd:🆑 Add unit; start namespace. 2021-01-04 02:31:41 -08:00
Jason Volk
e44316ba1e ircd::prof: Prevent kern time warning during static initialization. 2021-01-04 02:16:33 -08:00
Jason Volk
d52d6bc042 ircd::db: Add conf item to disable file deletion on open; add to -safe mode diagnostic. 2021-01-04 01:12:49 -08:00
Jason Volk
446f319391 ircd::ctx::posix: Trapdoor complex allowing real pthreads to work again. 2021-01-04 01:12:49 -08:00
Jason Volk
e37a775e9b ircd::ctx::posix: Add interface to toggle hook; split header internal/external. 2021-01-04 01:12:39 -08:00
Jason Volk
b924da17a4 ircd::ios: Increase default emption frequency. 2020-12-25 08:25:33 -08:00
Jason Volk
6830b9aff1 ircd::resource: Optimize chunk termination w/ iov. 2020-12-25 07:30:10 -08:00
Jason Volk
16ce9a820e ircd::client: Add write overload for iov arguments. 2020-12-25 07:30:10 -08:00
Jason Volk
6987e30cf6 ircd::server: Add conf items for peer socket options. 2020-12-25 07:30:10 -08:00
Jason Volk
2c48499db7 ircd::server: Add sock_opts in peer open_opts; move constant; minor cleanup. 2020-12-25 06:44:31 -08:00
Jason Volk
75a88976dc ircd::resource: Add TCP_NODELAY flush opportunity at completion boundary. 2020-12-25 05:33:59 -08:00
Jason Volk
227ba21341 ircd::resource: Add DELAYED_ACK flag to method; support TCP_QUICKACK opportunity. 2020-12-25 05:33:59 -08:00
Jason Volk
a63fcfa5b4 ircd::net: Add interface to TCP_QUICKACK if supported. 2020-12-25 05:33:59 -08:00
Jason Volk
44bee11fc0 ircd::resource::response: Add flush/push option to chunked::finish(). 2020-12-24 18:09:31 -08:00
Jason Volk
f30c5f381b ircd::net: Add tools to query socket write buffering related. 2020-12-24 18:09:30 -08:00
Jason Volk
7e81806f29 ircd::net: Minor reorg available()/readable() into read.h. 2020-12-24 18:09:30 -08:00
Jason Volk
3b90a4a5a9 ircd::db: Fix erroneous false hits from db::cached(). 2020-12-24 00:36:43 -08:00
Danilo Spinella
27f1bdc6c6 ircd/server: Fix build with LibreSSL 2020-12-23 03:56:43 -08:00
Danilo Spinella
92c434e061 ircd/fs.cc: Add cast to fix build with gcc-10 2020-12-23 03:56:43 -08:00
Danilo Spinella
d87e7a5e32 irdc/rfc3986: Fix build with latest Boost
From `boost/spirit/home/karma/nonterminal/rule.hpp`:
        BOOST_STATIC_ASSERT_MSG(
            !is_reference<attr_type>::value && !is_const<attr_type>::value,
            "Const/reference qualifiers on Karma rule attribute are meaningless");
2020-12-23 03:56:43 -08:00
Jason Volk
78cbd244c4 ircd::db: Lower the global write mutex to database instance member. 2020-12-23 03:56:43 -08:00
Jason Volk
7bacbe82c7 ircd: Reorder ios to precede fs/prof units. 2020-12-23 03:56:43 -08:00
Jason Volk
1f164304a6 ircd::db::prefetcher: Integrate ticker items into ircd::stats system. 2020-12-23 03:56:43 -08:00
Jason Volk
9f0c081ac8 ircd::stats: Add signed integer, chrono specializations; use panic exception. 2020-12-23 03:56:43 -08:00
Jason Volk
dfa75cd421 ircd::stats: Abstract items into templates w/ special instantiations. 2020-12-23 03:56:43 -08:00
Jason Volk
d6d518666e ircd::db: Inline various undersized; mark un-inlinable for hot section. 2020-12-23 03:56:43 -08:00
Jason Volk
6991ecc764 ircd: Remove various trivial tls bufs. 2020-12-22 18:40:30 -08:00
Jason Volk
b503766f1a ircd: Additional ICP targets for json::type/object::begin()/array::begin(). 2020-12-21 01:19:33 -08:00
Jason Volk
22b30b1a0a ircd::db::database: Track state of WriteStallCondition in our column instance. 2020-12-21 00:44:14 -08:00
Jason Volk
d884757155 ircd::db: Use computed level0 triggers; indicate rocksdb invariant from warnlog. 2020-12-21 00:44:14 -08:00
Jason Volk
510b8d4aad ircd::db: Remove yield in several callbacks; assertion for stoppage. 2020-12-21 00:44:14 -08:00
Jason Volk
a049063562 ircd::db: Additional debuglog in releasemode; tweak formats; improve msgs. 2020-12-21 00:22:22 -08:00
Jason Volk
07ec766ff9 ircd::ios: Consolidate dispatch/post/defer interfaces; minor fixes. 2020-12-20 06:02:50 -08:00
Jason Volk
099c7754ff ircd::stats: Simplify f7945918c; eliminate sort. 2020-12-20 06:01:19 -08:00
Jason Volk
9655a6311f ircd: Simplify the async main init fiasco w/ continuation callback. 2020-12-18 17:41:26 -08:00
Jason Volk
96fa20244b ircd::stringops: Fix missing boolmask in character replace transforms. 2020-12-18 04:04:01 -08:00
Jason Volk
f7945918c6 ircd::stats: Use vector for item iteration; add name convenience member. 2020-12-18 04:04:01 -08:00
Jason Volk
5ee8405117 ircd::resource: Integrate method stats into ircd::stats. 2020-12-18 02:45:03 -08:00
Jason Volk
1f2abfb64a ircd::ios: Integrate descriptor::stats into ircd::stats system. 2020-12-18 02:42:07 -08:00
Jason Volk
e80629c914 ircd: Rename all ios::descriptors w/ consistent dot namespacing.
ircd: Hoist various ios::descriptors out of function-static duration.
2020-12-18 02:42:07 -08:00
Jason Volk
af59cc1378 ircd::fs::aio: Integrate stats structure into ircd::stats system. 2020-12-18 02:42:07 -08:00
Jason Volk
3eb664bbe9 ircd::stats: Use trapping exception for developer errors. 2020-12-18 02:41:56 -08:00
Jason Volk
28f0195b59 ircd::mods: Disable interruption on unload(); guard unloading list; noexcept. 2020-12-15 16:56:07 -08:00
Jason Volk
c0892e79f4 ircd::resource::method: Disable interruption while waiting for idle. 2020-12-15 16:56:07 -08:00
Jason Volk
6f66ff5bac ircd::resource::response::chunked: Support user-supplied buffer constructions. 2020-12-15 16:56:07 -08:00
Jason Volk
1949e6e37d ircd::fs::aio: Post the chaser w/ defer for more delay. 2020-12-14 00:37:01 -08:00
Jason Volk
b54d4950cc ircd::fs::aio: Optimize system call pattern; eliminate exclusive calls to poll(2). 2020-12-14 00:37:01 -08:00
Jason Volk
6696693f8b ircd::ios: Add legit framework for core loop optimizations. (related 7df5592ebe) 2020-12-14 00:36:32 -08:00
Jason Volk
a10429c15f ircd: Improve terminate interface; simplify impl. 2020-12-13 10:45:34 -08:00
Jason Volk
956ea6edb6 ircd::ctx: Add constexpr toggles covering all possible branches. 2020-12-13 08:29:33 -08:00
Jason Volk
799c4e1691 ircd::ctx: Add ios profile debuglog indicating ctx::wake(). 2020-12-13 08:29:33 -08:00
Jason Volk
d947b5e724 ircd::ios: Add missing context switch for dispatch; assertions. 2020-12-13 08:29:33 -08:00
Jason Volk
9ca664d231 ircd::ios: Split headers into directory; minor reorg.
ircd::ios: Move profile constexprs into namespace.
2020-12-13 08:29:29 -08:00
Jason Volk
befe5ac750 ircd::ios: Fix use of default static descriptor instead of passed argument. 2020-12-12 18:18:28 -08:00
Jason Volk
af102fcab6 ircd::ios: Increase descriptor name width in debuglog. 2020-12-12 00:35:36 -08:00
Jason Volk
ddfac32b85 ircd::ios: Elide std::function for hot descriptor calls. 2020-12-11 22:50:57 -08:00
Jason Volk
5151a3b934 ircd::ios: Inline additional handler related definitions. 2020-12-11 22:50:57 -08:00
Jason Volk
b798192c15 ircd::rand: Improve xoshiro256p default values; improve interface consistency.
ircd::rand: Reorg iface; deinline mersenne twister so it's not emitted everywhere.
2020-12-11 22:50:57 -08:00
Jason Volk
972502fd19 ircd::json: Inline trivial array::empty(); label branch expect. 2020-12-10 08:34:22 -08:00
Jason Volk
c5bcbe5afd ircd::ios: Add constexpr verbose debug; add inline enqueue(); reorg.
ircd::ios: Simplify fault handler; reuse leave() codepath.
2020-12-09 02:16:50 -08:00
Jason Volk
bf3fa0a122 ircd::log: Propagate noexcept to interface vlog(). 2020-12-09 02:16:50 -08:00
Jason Volk
e0a64b47ee ircd::ios: Add logging facility for subsystem. 2020-12-07 14:18:42 -08:00
Jason Volk
d194635a5e ircd::server: Fix dynamic chunked encoding buffers not reused, affecting large transfers. 2020-12-07 12:06:57 -08:00
Jason Volk
29b041e3a2 ircd::prof: Split prof::psi from prof_linux unit. 2020-12-06 10:36:47 -08:00
Jason Volk
6f8d2c7578 ircd::fs::prof::psi: Eliminate non-trivial thread_local. 2020-12-06 10:36:47 -08:00
Jason Volk
7751f9d0fa ircd::db: Optimize db::cached() query. 2020-12-06 10:27:27 -08:00
Jason Volk
afe314a408 ircd::net::dns::resolver: Prevent retry of ServFail to the same server. 2020-12-06 10:27:27 -08:00
Jason Volk
bba89fd3e5 ircd::log: Fix level::CRITICAL breakthroughs to stdio; minor cleanup. 2020-12-06 10:27:27 -08:00
Jason Volk
ff9375a408 ircd: Allow several debug msgs in release build; tweak facilities. 2020-12-01 00:00:54 -08:00
Jason Volk
9fa174fe89 ircd::server: Improve logging of actual target host names in handlers. 2020-11-29 14:07:55 -08:00
Jason Volk
478a871326 ircd: Add ICP for json::object::const_iterator::operator++ to profile. 2020-11-28 15:44:18 -08:00
Jason Volk
770fabcacd ircd: Add target to preprocess PGO data bundled in text form.
matrix: Add target to preprocess PGO data bundled in text form.
2020-11-28 14:35:45 -08:00
Jason Volk
d0edf478ab ircd::log: Disable output to file by default for ERROR/WARNING. 2020-11-28 13:16:44 -08:00
Jason Volk
716f26216d configure: Consolidate applications of -fmax-errors/-ferror-limit. 2020-11-28 12:42:32 -08:00
Jason Volk
ded8f05064 ircd::tokens: Simplify interface w/ closure template; eliminate named closure.
ircd::tokens: Minor interface cleanup; inline linkages.
2020-11-27 20:06:19 -08:00
Jason Volk
b00a96d0ce ircd::json: Simplify grammars negated based on prior assumptions. 2020-11-27 18:31:18 -08:00
Jason Volk
910dafbb85 configure: Improve profile build related. 2020-11-27 17:29:54 -08:00
Jason Volk
0f851d1d98 ircd: Use thin mode for LTO.
matrix: Use thin mode for LTO.
2020-11-27 17:29:28 -08:00
Jason Volk
00bd72e3ff ircd::http: Fix erroneous binding name. 2020-11-27 16:58:20 -08:00
Jason Volk
d16dca495f ircd::magick: Limit request dimensions to the image dimensions (closes #161). 2020-11-19 19:06:04 -08:00
Jason Volk
d861132d95 ircd::magick: Fix aspect on scale method. (#161) 2020-11-19 19:06:04 -08:00
Jason Volk
5152cfb574 ircd::server: Close peer w/ cached error based on cloudflare 522 et al. 2020-11-18 21:02:49 -08:00
Jason Volk
119f5a88fc ircd::fs::path: Translate boost exceptions coming out of tool impls. 2020-11-16 07:22:12 -08:00
Jason Volk
6a5dbfe228 ircd::fs::path: Additional reorg; add safe path() overload; add missing parent(). 2020-11-15 02:27:33 -08:00
Jason Volk
34cf3e032e ircd::fs::path: Add absolute() to interface. 2020-11-14 00:59:09 -08:00
Jason Volk
cb223b97c0 ircd::fs::path: Add canonical() suite to interface; minor reorg. 2020-11-14 00:59:09 -08:00
Jason Volk
b447b9dd42 ircd: Additional replace() overloads; use consistent integral character arguments. 2020-11-13 22:46:36 -08:00
Jason Volk
f92f72cc73 ircd::json: Add proper utf16 surrogate unescape transform. 2020-11-13 21:08:31 -08:00
Jason Volk
14a20955ec ircd: Deinline some replace() stringops. 2020-11-13 21:07:14 -08:00
Jason Volk
fbc3ab87e9 ircd::ctx: Add interface to change name; implement posix handler. 2020-11-13 21:07:14 -08:00
Jason Volk
a9c6c76467 ircd::json: Implement string unescaping; streaming transform. 2020-11-13 21:07:14 -08:00
Jason Volk
5f1b46aa8b ircd::server: Fix explicit port overriding service query (regression f0f25ff236). 2020-11-11 22:49:39 -08:00
Jason Volk
da0464e101 ircd::server: Reorg peer::resolve() as unary using member data. 2020-11-11 22:49:39 -08:00
Jason Volk
e20d1d48c4 ircd::json: Fix parallel transform over control sequence. 2020-11-11 22:49:39 -08:00
Jason Volk
5958e73ff8 ircd::json: Add integrated type-checking overloads to reduce call count. 2020-11-11 22:49:39 -08:00
Jason Volk
471de2e6b6 ircd::db::env: Restart writes after interrupt across whole env. 2020-11-11 13:11:57 -08:00
Jason Volk
e7bdcedd29 ircd::rfc3986: Use uppercase hex characters for encoding. 2020-11-08 03:48:57 -08:00
Jason Volk
076cfb32f5 ircd::info: Fix use of _sv outside of ircd:: (aarch64). 2020-11-08 02:25:31 -08:00
Jason Volk
5335c6b29f ircd::net::dns::resolver: Slightly more aggressive rate tweak. 2020-11-06 22:06:16 -08:00
Jason Volk
04f6e9692a ircd::net::dns::resolver: Improve timeout cycle; avoid false positives under load. 2020-11-06 22:06:16 -08:00
Jason Volk
27d0c25f9b ircd::net::dns::resolver: Split recv into function from work loop. 2020-11-06 22:04:46 -08:00
Jason Volk
749647bb89 ircd::server: Limit the cancelled head size to copy. 2020-11-06 22:04:46 -08:00
Jason Volk
c9b1b37505 ircd::http: Increase buffer size; report proper error for exceeding. 2020-11-05 22:10:54 -08:00
Jason Volk
41fecb72e9 ircd::server: Replace underscored conf item names. 2020-11-05 22:10:54 -08:00
Jason Volk
f0f25ff236 ircd::server: Re-resolve DNS for peer after TTL expiration. 2020-11-05 22:10:54 -08:00
Jason Volk
d6200a7ac3 ircd::server: Add DNS expiration TTL state to peer. 2020-11-05 22:10:54 -08:00
Jason Volk
ba24dd1018 ircd::net: End exception before calling user in any handler. 2020-11-05 22:10:54 -08:00
Jason Volk
f3886d60d8 ircd: Replace callsites w/ template deduced mutable_cast. 2020-11-05 22:10:53 -08:00
Jason Volk
857979744f ircd::server: Add conf item to toggle whole unit. 2020-11-05 22:10:53 -08:00
Jason Volk
b4613b8132 ircd::server: Move conf item into namespace; minor reorg. 2020-11-05 22:10:53 -08:00
Jason Volk
536a496bee ircd::allocator: Add incore(); replace as fs::fincore() impl. 2020-11-05 22:10:53 -08:00