0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-25 03:48:38 +02:00
Commit graph

4103 commits

Author SHA1 Message Date
Jason Volk 0182f18b15 ircd: Add ircd.h to matrix.h target deps list. 2020-06-27 14:24:50 -07:00
Jason Volk d31edde88b ircd: Cleanup/reorg of stdinc contents; remove experimental. 2020-06-27 14:24:34 -07:00
Jason Volk ad8f3bd878 ircd::icu: Add encoding transform to suite; minor rename. 2020-06-25 18:36:18 -07:00
Jason Volk 4aae2c4963 ircd: Add <cuchar> to standard include group. 2020-06-25 17:19:01 -07:00
Jason Volk 6a33be4494 ircd::simd: Add ymmx shifter specializations. 2020-06-25 12:55:22 -07:00
Jason Volk 1ad2a1546a ircd::simd: Simplify string/debug interface. 2020-06-25 12:54:38 -07:00
Jason Volk 99f203a4b7 ircd::simd: Add xmmx shifter workaround tools; reorg header. 2020-06-25 12:54:38 -07:00
Jason Volk 001bd12287 ircd::simd: Add lane number constant tables. 2020-06-24 15:16:47 -07:00
Jason Volk 526271e8cd ircd::simd: Add preliminary debug print utils. 2020-06-24 11:00:11 -07:00
Jason Volk d456a42cdd ircd::json: Add stats items counting calls and cycles on input and output. 2020-06-24 11:00:11 -07:00
Jason Volk 013ba40eec ircd::spirit: Import alias for boost::fusion namespace; minor reorg. 2020-06-24 08:51:09 -07:00
Jason Volk 3d10423328 ircd::prof: Add template options to constexpr-condition fence instructions. 2020-06-24 08:50:31 -07:00
Jason Volk b22d4e2eb1 ircd::prof: Make scope_cycles add to result rather than overwriting it. 2020-06-24 08:41:48 -07:00
Jason Volk 9dd9875611 ircd::spirit: Assertions for output buffer state in generate template. 2020-06-23 00:53:56 -07:00
Jason Volk 4823375701 ircd::spirit: Remove artificial attribute. 2020-06-23 00:53:34 -07:00
Jason Volk 29a051dd0e ircd: Fix Makefile condition rot related to --disable-pch. 2020-06-20 21:13:53 -07:00
Jason Volk 114eb3a567 ircd::spirit: Add simd.h to spirit pch. 2020-06-20 07:05:08 -07:00
Jason Volk da1f3e0d1c ircd: Remove legacy locale header / unit. 2020-06-20 05:41:14 -07:00
Jason Volk 71eba6bf45 ircd::icu: Use better namespace name; export to ircd. 2020-06-20 05:41:14 -07:00
Jason Volk bc1e54aa12 ircd:Ⓜ️:event: Minor rename; additional diagnostic arguments. 2020-06-19 22:53:01 -07:00
Jason Volk 28e3e6b3fd ircd::icu: Add u8/16 util suite; add char32_t name information interface.
ircd::icu: Add name to character inversion.

ircd::icu: Add category and block queries.

ircd::icu: Add property reflections.

ircd::icu: Add tolower()/toupper().

ircd::icu: Add u8 transform w/ diagnostic.
2020-06-19 08:29:31 -07:00
Jason Volk daa49dde51 ircd: Add icu support if available. 2020-06-19 03:04:55 -07:00
Jason Volk 46e0625daf ircd:Ⓜ️:event::conforms: Add hashes related codes and conditions. 2020-06-18 22:51:33 -07:00
Jason Volk acad1fcaba ircd:Ⓜ️:event: Split out hash reimage generator. 2020-06-18 22:41:32 -07:00
Jason Volk aa655cb745 ircd:Ⓜ️:event: Minor interface reorg. 2020-06-18 22:10:24 -07:00
Jason Volk ba4c98d7e8 ircd::db: Minor remove cruft. (related 942e8330e6)
ircd::ios: Minor cleanup.
2020-06-18 20:07:40 -07:00
Jason Volk 22f4fd5046 ircd::db: Add fwd decl and accoutrements for rocksdb::PinnableSlice. 2020-06-18 20:07:40 -07:00
Jason Volk 505fe310a8 ircd::ctx: Inline various codepaths leading to flags(ctx).
ircd::ctx: Inline cheap prof::get() wrappings.
2020-06-18 03:56:09 -07:00
Jason Volk b08e161e27 ircd::fpe: Inline errors_handle; minor include reorder. 2020-06-18 01:23:01 -07:00
Jason Volk 4371d803a4 ircd: Move fpe out of util. 2020-06-17 23:01:23 -07:00
Jason Volk f4b3b6f1e0 ircd::spirit: Fix error format string. 2020-06-17 22:39:03 -07:00
Jason Volk 4b20747e06 ircd::stats: Add buffer-based stringifier to interface; simplify. 2020-06-17 20:28:05 -07:00
Jason Volk 1580004edc ircd::stats: Add bang operator to vtable for zero query. 2020-06-17 19:24:04 -07:00
Jason Volk c0d2fe20bb ircd::stats: Refactor subsystem template hierarchy and approach. (#31) 2020-06-17 18:12:19 -07:00
Jason Volk e2654ddaed ircd::db: Add feature define for direct-io multiget; various cleanup. 2020-06-16 07:27:50 -07:00
Jason Volk 4ef7754ed5 ircd:Ⓜ️:room::members: Eliminate unnecessary query to the room state. 2020-06-14 22:05:15 -07:00
Jason Volk f0d0705dfd ircd::util: Remove legacy syscall templates. (related eb00134100) 2020-06-14 03:04:59 -07:00
Jason Volk 6f508f92a4 ircd:Ⓜ️:acquire: Add a head reset option for now.
ircd:Ⓜ️:init::backfill: Use head reset option for room acquire.
2020-06-12 20:53:16 -07:00
Jason Volk cfba2b52c9 ircd::run: Add additional UNLOAD runlevel on shutdown after QUIT. 2020-06-12 18:41:30 -07:00
Jason Volk 09fe270c54 ircd::http: Add status category enum; move static grammars out of function; minor reorg enums. 2020-06-12 17:01:09 -07:00
Jason Volk c2562d7dfa ircd::info: Query for various clock characteristics of the runtime. 2020-06-11 17:09:56 -07:00
Jason Volk eb00134100 ircd::util: Move syscall() templates out of util; minor reorg includes.
ircd::sys: Add abstract sysfs tool and template from fs::dev.
2020-06-11 09:49:33 -07:00
Jason Volk 35d4ee811b ircd::db: Add preliminary support for secondary-mode if available. 2020-06-11 03:51:49 -07:00
Jason Volk b59337eb78 ircd::spirit: Consolidate entry to spirit through wrapper templates.
ircd::spirit: More aggressive inlining of interface templates; symbol visibility
2020-06-11 03:51:49 -07:00
Jason Volk b70877eee2 ircd:Ⓜ️:event::prev: Add optimal queries for any one reference existing. 2020-06-10 22:36:28 -07:00
Jason Volk d42126693b ircd::fs::dev: Fix device size calculation; cleanup constants; improve cmd output. 2020-06-10 22:36:28 -07:00
Jason Volk 7a53afc4c8 ircd::db: Add delta encoding indicator to SST info; add to console cmd output. 2020-06-10 22:36:28 -07:00
Jason Volk b68b4d113a ircd::db: Add conf item to disable automatic compactions.
construct: Add -nocompact program option.
2020-06-10 22:36:27 -07:00
Jason Volk 37734e1260 ircd::portable: Remove fenced assert for GCC due to error when used in constexprs. 2020-06-09 05:14:43 -07:00
Jason Volk 496567b837 ircd:Ⓜ️:event: Add parallel exists() to interface. 2020-06-09 04:38:07 -07:00
Jason Volk c0c9c2c4f0 ircd::db: Add parallel has() to column interface. 2020-06-09 04:37:51 -07:00
Jason Volk 4a1f04823f ircd::db: Improve request pool initialization and size determination. 2020-06-08 17:16:07 -07:00
Jason Volk 7a87f2eda9 ircd::conf: Fix interface argument inconsistency. 2020-06-08 17:16:07 -07:00
Jason Volk 84491464d6 ircd::resource: Split mime and content length nego branches into functions. 2020-06-08 16:13:00 -07:00
Jason Volk ee4d64ff28 ircd::util: Start an all() convenience template w/ bool specialization. 2020-06-08 16:13:00 -07:00
Jason Volk 0cb9e74cc6 ircd::resource::method: Add conf items for option defaults. 2020-06-08 16:13:00 -07:00
Jason Volk 640e81ef4d ircd:Ⓜ️:fed: Split well_known into namespace into unit. 2020-06-08 16:13:00 -07:00
Jason Volk bc3ad3f89c ircd::fs::dev: Eliminate the static map; refactor interface; add console cmd. 2020-06-08 16:13:00 -07:00
Jason Volk 27d52c660b ircd::fs::opts: Add an option to suppress internal error logging on some operations. 2020-06-08 14:10:13 -07:00
Jason Volk 64c82829d8 ircd::fs::dev: Use defaulting values rather than exceptions for sysfs() suite.
ircd::fs::dev: Stop exception propagation on per block device during discovery.
2020-06-07 14:30:50 -07:00
Jason Volk 2031966072 ircd::server: Add tag completed counters on link and peer w/ report. 2020-06-07 07:53:37 -07:00
Jason Volk 6968f24921 ircd::db: Add compaction period parameter to descriptor. 2020-06-07 05:46:24 -07:00
Jason Volk b8521117c1 ircd::db::row: Add valid_all() to interface. 2020-06-07 03:26:31 -07:00
Jason Volk 7af4e85631 ircd:Ⓜ️ Throw better errcode for unverifiable sig; use 403 for failed verify. 2020-06-07 02:24:49 -07:00
Jason Volk 22eb9b514b ircd::fs::dev: Add block device information system w/ sysfs. 2020-06-07 01:51:19 -07:00
Jason Volk 680c29601e ircd::fs::dev: Cleanup returned string data from sysfs read. 2020-06-07 01:51:19 -07:00
Jason Volk 6e1d58c2e6 ircd::buffer: Improve the overlap tool. 2020-06-07 01:51:19 -07:00
Jason Volk 58d15e6852 ircd::spirit: Add template option for truncation behavior to generate.
ircd::fmt: Add internal generate template; enable truncation.
2020-06-05 12:15:11 -07:00
Jason Volk 268d4265ca ircd::spirit: Improve generator overflow counting. 2020-06-05 09:15:15 -07:00
Jason Volk be07ae05b2 ircd::portable: Optimize redefined macro if conditions are favorable. 2020-06-05 04:32:57 -07:00
Jason Volk 04020a91b7 ircd::buffer: lte range assertion on ctor; remove attr; minor reorg.
ircd::buffer::window_buffer: Assertion on consumption increments.
2020-06-05 04:32:57 -07:00
Jason Volk 1ef26f113f ircd::strlcpy: Use character copy; remove branch. 2020-06-04 19:19:06 -07:00
Jason Volk da43ac3d95 ircd:Ⓜ️:sync: Add flag to trigger re-request forcing focused full_state. 2020-06-03 23:26:08 -07:00
Jason Volk 9e96863922 ircd:Ⓜ️:sync: Add flags component to since token. 2020-06-03 22:36:58 -07:00
Jason Volk d662bdaa3e ircd:Ⓜ️:sync: Add document comments for sync::data members. 2020-06-03 22:36:58 -07:00
Jason Volk fcd488b409 ircd:Ⓜ️:sync: Centralize all since token related into library suite. 2020-06-03 22:36:58 -07:00
Jason Volk b8c4bf85e5 ircd:Ⓜ️:sync: Split up sync.h header into directory; move sync::data definition. 2020-06-03 19:39:55 -07:00
Jason Volk a70a6164be ircd::net: Convey ALPN selection to socket instance. 2020-05-30 23:19:03 -07:00
Jason Volk 47d1ac40c3 ircd::net::acceptor: Carry pointer to our socket instance in ssl opaque. 2020-05-30 22:47:03 -07:00
Jason Volk 5fa1e524a4 ircd::openssl: Add interface wrapping get/set app_data. 2020-05-30 22:17:11 -07:00
Jason Volk 489cf7a560 ircd::allocator: Add a graceful getter/setter for RLIMIT_MEMLOCK. 2020-05-29 23:40:24 -07:00
Jason Volk ed5228610f ircd::allocator: Add void specialization to mallctl suite. 2020-05-29 23:40:24 -07:00
Jason Volk e70284c03f ircd::allocator: Add more flexibility to mallctl template. 2020-05-29 23:40:24 -07:00
Jason Volk 6eb54341ef ircd::spirit: Fix signedness and displacements in generator state; add assertions. 2020-05-29 23:40:24 -07:00
Jason Volk d9cf74ebd6 modules/client/publicrooms: Convey search term to any federation query. 2020-05-29 01:39:25 -07:00
Jason Volk 761ff66464 ircd:Ⓜ️:fed: Generate POST /publicRooms content by default; add console search param. 2020-05-29 01:34:19 -07:00
Jason Volk aead45402d ircd:Ⓜ️:sync: Introduce item prefetch feature for polylog mode. 2020-05-28 21:31:28 -07:00
Jason Volk 4d32122fa8 ircd::spirit: Quench the generator's default position policy. 2020-05-28 20:09:14 -07:00
Jason Volk 6beb93b1c1 ircd::spirit: Improve pseudo-buffering; generator state and interface related. 2020-05-28 20:09:14 -07:00
Jason Volk 7064e4f349 ircd::util: Improve some comments; minor cleanup. 2020-05-28 15:20:32 -07:00
Jason Volk 876f28f1df ircd::spirit: Specify inline storage for util templates. 2020-05-27 20:03:03 -07:00
Jason Volk 8b3760b57f ircd::spirit: Minor rename error buffer. 2020-05-27 20:03:02 -07:00
Jason Volk d58921f756 ircd::spirit: Add exceptions; move epsilon into generate abstraction; minor cleanup. 2020-05-27 20:03:02 -07:00
Jason Volk 3b485d79f1 ircd::buffer: Return bytes consumed from consume(). 2020-05-27 10:50:56 -07:00
Jason Volk b698f80067 ircd::spirit: Abstract common generator call into template. 2020-05-26 04:54:52 -07:00
Jason Volk 93ee6a9f04 ircd::allocator: Add templated info get()/set() to suite. 2020-05-26 02:10:09 -07:00
Jason Volk ef022a215f ircd:Ⓜ️🪝 Use nothrow disable_interruption; propagate by default. 2020-05-24 21:06:17 -07:00
Jason Volk 31dfedbcd7 ircd::json: Add suite for type optimized type query; refactor grammars. 2020-05-24 19:03:00 -07:00
Jason Volk e938081404 ircd::ctx: Add watchdog log facility. 2020-05-24 17:42:32 -07:00
Jason Volk ac42d4df13 ircd::ctx: Measure and report epoch span for slice_usage_warning. 2020-05-24 17:14:02 -07:00
Jason Volk f070e3b706 ircd::ctx: Condition on RB_DEBUG rather than NDEBUG for slice_usage_warning tool. 2020-05-24 17:14:02 -07:00
Jason Volk 24d73428c8 ircd::json: Fix overzealous escape cases. (fixes #152) (fixes #17) 2020-05-24 15:32:40 -07:00
Jason Volk 2f51b01008 ircd::fs: Integrate fd::opts extending fs::opts. 2020-05-24 15:32:40 -07:00
Jason Volk c7b473485b ircd::allocator: Add argument for options string to info() interface. 2020-05-22 16:37:05 -07:00
Jason Volk 54a72532b6 ircd::json: Eliminate output validation for release builds. 2020-05-22 16:37:05 -07:00
Jason Volk c73636f950 ircd::json: Add output validation to base stringify() template. 2020-05-22 16:37:05 -07:00
Jason Volk a57469fbd6 ircd::spirit: Add convenience templates for semantic context access. 2020-05-20 20:52:32 -07:00
Jason Volk 4d5c006003 ircd::fs: Simplify read suite overloads. 2020-05-20 20:40:48 -07:00
Jason Volk a1de7e8e08 ircd::fs::fd: Replace open(2) with openat(2); additional constructor. 2020-05-20 20:40:48 -07:00
Jason Volk 82485b9aa9 ircd::fs: Minor cleanup. 2020-05-20 18:28:42 -07:00
Jason Volk 0c1e2be81a ircd::spirit: Add substring_view; additional imports. 2020-05-20 17:16:23 -07:00
Jason Volk f2bdcd7859 ircd::spirit: Expand boost::fusion header selection. 2020-05-19 16:54:10 -07:00
Jason Volk 9213d31f1d ircd::ctx: Inline interruptible(ctx, ...) manipulators. 2020-05-19 15:55:18 -07:00
Jason Volk 3c96120e72 ircd::ctx: Add some noexcept; minor comment justification. 2020-05-18 19:57:54 -07:00
Jason Volk 00fe4baa2a ircd::ctx: Add direct flags reference accessor to interface. 2020-05-18 19:57:54 -07:00
Jason Volk 215a0148b4 ircd:Ⓜ️🪝:site: Add interrupt masking feature. 2020-05-18 19:02:49 -07:00
Jason Volk ce3a57bfce ircd::ctx::uninterruptible: Add defaulted runtime bool construction. 2020-05-18 18:43:17 -07:00
Jason Volk 648d6e42b4 ircd::json: Inline vector::const_iterator related. 2020-05-18 18:12:34 -07:00
Jason Volk 8b3cc178ae ircd::spirit: Import qi::seek, qi::subrule; minor reorg. 2020-05-13 04:15:10 -07:00
Jason Volk b91c768c57 ircd:Ⓜ️:vm::eval: Remove sequence_shared state. 2020-05-12 22:27:53 -07:00
Jason Volk 987a3eeb6b ircd:Ⓜ️:vm::eval: Add pointer to parent eval; related utils.
ircd:Ⓜ️:vm::eval: Add pointer to child evals; maintain stack.
2020-05-12 22:27:53 -07:00
Jason Volk 13003986bc ircd:Ⓜ️:vm::eval: Minor static interface reorg. 2020-05-12 22:27:53 -07:00
Jason Volk 3bd3173db0 ircd:Ⓜ️:vm: Replace eval hook::site member with entered hook ptr; add id to console cmd. 2020-05-12 22:27:53 -07:00
Jason Volk adde714df4 ircd:Ⓜ️🪝 Add callsite overloads which maintain pointer to current hfn. 2020-05-12 19:21:58 -07:00
Jason Volk 38a12ec0f7 ircd:Ⓜ️🪝 Add integer for easier ident; improve log msgs; console cmd. 2020-05-12 19:21:58 -07:00
Jason Volk a247334744 ircd:Ⓜ️🪝 Minor interface reorg. 2020-05-12 19:21:58 -07:00
Jason Volk 23b7dc62d6 ircd:Ⓜ️🪝 Add documenting comments on namespace, some primary structures. 2020-05-12 19:21:58 -07:00
Jason Volk 46cea198a2 ircd:Ⓜ️:vm: Remove explicit assignments in phase enumeration. 2020-05-12 19:21:58 -07:00
Jason Volk b764e75692 ircd:Ⓜ️:vm: Additional fetch phases; split fetch hook sites. 2020-05-11 21:14:25 -07:00
Jason Volk 0fd5570c14 ircd:Ⓜ️:vm: Add enumeration for evaluation phases. 2020-05-11 21:14:25 -07:00
Jason Volk a1708a687e ircd:Ⓜ️:vm: Rename eval.phase to eval.phase_hook. 2020-05-11 19:25:07 -07:00
Jason Volk db4e0af8a9 ircd::tokens: Modernize all remaining interface delims to string_view. 2020-05-11 16:31:48 -07:00
Jason Volk aae7f7e545 ircd::allocator::je: Add runtime query for linked library at initialization. 2020-05-10 18:53:45 -07:00
Jason Volk b0776fd0f8 ircd:Ⓜ️:homeserver: Preliminary bootstrap from event vector. 2020-05-10 03:52:28 -07:00
Jason Volk 554478da49 ircd:Ⓜ️:homeserver: Consolidate/simplify ctor/dtor for now. 2020-05-10 03:02:20 -07:00
Jason Volk 0bd1d03bbc ircd:Ⓜ️:homeserver: Unload any loaded modules for ctor error. 2020-05-09 19:56:20 -07:00
Jason Volk befe43f45a ircd:Ⓜ️:acquire: Add options to toggle operations. 2020-05-09 19:01:25 -07:00
Jason Volk 8c15247efc ircd::fs: Add options to fadvise() on fd open(). 2020-05-09 18:42:05 -07:00
Jason Volk 32192bf439 ircd::prof::psi: Additional state relative to last refresh. 2020-05-09 17:28:34 -07:00
Jason Volk 19f4917d9f ircd::prof::psi: Add threshold triggering mechanism to interface. 2020-05-09 17:28:34 -07:00
Jason Volk 05e384d315 ircd::prof::psi: Add interface to poll for PSI linux>=5.2. (#144) 2020-05-09 17:28:34 -07:00
Jason Volk a0476b8a9c ircd::fs: Add a select()'ish multi-fd yielding device. 2020-05-09 17:28:34 -07:00
Jason Volk 47800ba094 ircd::allocator: Add interface to fetch some resource limits. 2020-05-08 00:44:13 -07:00
Jason Volk 52831893da ircd::util: Add next_powerof2(u64) constexpr. 2020-05-07 21:31:02 -07:00
Jason Volk aaa5e785aa ircd::fs: Implement synchronous parallel-read interface. 2020-05-07 00:28:27 -07:00
Jason Volk f34cc52043 ircd::util: Allow variable increment for scope_count. 2020-05-06 17:30:12 -07:00
Jason Volk b448156da4 ircd::db: Interface to get the charge value of cache entry. 2020-05-05 19:58:37 -07:00
Jason Volk 36a0394184 ircd::db::database: Add custom allocator stub; apply per-cache allocators. 2020-05-05 19:58:37 -07:00
Jason Volk 63e0543175 ircd::http: Use unsigned 32bit type for chunk size. 2020-05-05 17:32:41 -07:00
Jason Volk b3dbf0cd01 ircd::ctx: Start an interpositionable posix thread interface. 2020-05-04 16:09:39 -07:00