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

919 commits

Author SHA1 Message Date
Jason Volk
3b0f2b7ad5 ircd:Ⓜ️:room::state: Hoist event::fetch instance for faster seek in rebuilder. 2020-12-06 12:14:02 -08:00
Jason Volk
3b351b30f0 ircd:Ⓜ️:room::state: Improve log/diagnostic on rebuild. 2020-12-06 12:14:02 -08:00
Jason Volk
9a17cb08f8 ircd:Ⓜ️:vm: Move txn creation branches into function. 2020-12-06 10:36:47 -08:00
Jason Volk
bf5b03adc4 ircd:Ⓜ️:vm: Add earlier PREINDEX phase with prefetches for txn. 2020-12-06 10:27:27 -08:00
Jason Volk
54a591e45c ircd:Ⓜ️:dbs: Improve prefetch handlers; remove opts; split interface. 2020-12-06 10:27:27 -08:00
Jason Volk
24d7a9220a ircd:Ⓜ️:vm: Show write call result to debug log msg. 2020-12-06 10:27:27 -08:00
Jason Volk
9cdc6f8a47 ircd:Ⓜ️:homeserver::bootstrap: Use explicit calls to bitset::set(). 2020-12-06 10:27:27 -08:00
Jason Volk
84b5bf536c ircd:Ⓜ️:vm::fetch: Replace redundant state fetch/eval w/ m::acquire. 2020-12-06 10:27:27 -08:00
Jason Volk
7eaad92e3c ircd:Ⓜ️:acquire: Improve hint selection complex for state fetch. 2020-12-06 10:27:27 -08:00
Jason Volk
1622ef89af ircd:Ⓜ️:gossip: Refactor interface; zero-worker implementation. 2020-12-06 10:27:27 -08:00
Jason Volk
058f20fe30 ircd:Ⓜ️:sync: Add missing stats for the linear handler base. 2020-12-03 06:01:38 -08:00
Jason Volk
a013c44f9e ircd:Ⓜ️:sync: Eliminate small tls buffers. 2020-12-03 06:01:38 -08:00
Jason Volk
779fc767d9 ircd:Ⓜ️🆔 Deinline ctor; construct string_view tight to valid mxid. 2020-12-03 01:37:33 -08:00
Jason Volk
a3a5bfbf30 ircd:Ⓜ️:vm: Fix placement of DUPCHK; adhere to opts.unique; remove redundant re-check. 2020-12-02 20:47:37 -08:00
Jason Volk
c93dd98b05 ircd:Ⓜ️:vm: Simplify redaction authority options; fix conditions. 2020-12-01 06:14:35 -08:00
Jason Volk
9344f3bc35 ircd:Ⓜ️:vm::fetch: Improve various hint selections. 2020-12-01 05:52:07 -08:00
Jason Volk
25bee046b3 ircd:Ⓜ️:vm: Add opts to conditions for edu branch. 2020-12-01 05:52:07 -08:00
Jason Volk
d2427fe4da ircd:Ⓜ️:room: Use string_view literal for better template inst. 2020-12-01 02:59:46 -08:00
Jason Volk
5b8092e407 ircd:Ⓜ️:vm: Add branch to grab room version from input. 2020-12-01 02:59:46 -08:00
Jason Volk
362096b34a ircd:Ⓜ️:room: Implement proper throwing overload for m::version(). 2020-12-01 02:59:46 -08:00
Jason Volk
3db3770302 ircd:Ⓜ️:vm: Only call mass fetcher for multiple evals. 2020-12-01 02:11:56 -08:00
Jason Volk
7fe0e9106f ircd:Ⓜ️:vm: Consolidate codepath; eval member counters; fix console related. 2020-12-01 02:11:56 -08:00
Jason Volk
4a715c8f0a ircd:Ⓜ️ Fix missing interrupt propagation in some worker base frames. 2020-12-01 00:00:54 -08:00
Jason Volk
0c88c84bb8 ircd:Ⓜ️:vm: Reconstruct event tuple from any canonized source. 2020-11-30 08:05:13 -08:00
Jason Volk
f80a31620c ircd:Ⓜ️:room::head: Fix erroneous empty string result. 2020-11-30 00:48:54 -08:00
Jason Volk
d49227c848 ircd:Ⓜ️:vm: Add redacted canonization cases prior to eval. 2020-11-29 23:55:09 -08:00
Jason Volk
f5fe4c7566 ircd:Ⓜ️:vm: Minor cleanup; move branch; comments. 2020-11-29 19:49:15 -08:00
Jason Volk
a9f6782309 ircd:Ⓜ️:vm: Improve event_id preposition prior to eval. 2020-11-29 19:49:15 -08:00
Jason Volk
02dc164d66 ircd:Ⓜ️:vm: Add canonization point prior to core eval. 2020-11-29 19:49:15 -08:00
Jason Volk
d4cab12056 ircd:Ⓜ️:dbs: Add branch to canonize content for select column types. 2020-11-29 19:49:15 -08:00
Jason Volk
9ea6fe65c3 ircd:Ⓜ️:event: Consolidate various thread-local buffers. 2020-11-29 19:49:15 -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
716f26216d configure: Consolidate applications of -fmax-errors/-ferror-limit. 2020-11-28 12:42:32 -08:00
Jason Volk
42d4596c51 ircd:Ⓜ️:fetch: Fix cleanup condition call to start(). 2020-11-27 20:06:19 -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
0f851d1d98 ircd: Use thin mode for LTO.
matrix: Use thin mode for LTO.
2020-11-27 17:29:28 -08:00
Jason Volk
5fdc492470 ircd:Ⓜ️ Add parallel index() overload for event::prev. 2020-11-27 17:27:55 -08:00
Jason Volk
595c51e17e ircd:Ⓜ️ Pass fetch result origin as node_id to evals. 2020-11-27 16:58:20 -08:00
Jason Volk
e06b033218 ircd:Ⓜ️:fetch: Pass the respondent's origin string with result. 2020-11-21 17:19:21 -08:00
Jason Volk
2a46ce767a ircd:Ⓜ️:acquire: Toggle fetch::op based on limit. 2020-11-21 17:19:21 -08:00
Jason Volk
214af71f09 ircd:Ⓜ️:fetch: Fix overzealous condition preventing authoritative redaction. 2020-11-21 00:26:47 -08:00
Jason Volk
1b69454f85 ircd:Ⓜ️:vm::fetch: Additional information for auth fetch hint. 2020-11-20 22:14:19 -08:00
Jason Volk
28c4b38641 ircd:Ⓜ️:init::backfill: Add conf item for acquire attempt_max. 2020-11-20 20:38:07 -08:00
Jason Volk
5872604280 ircd:Ⓜ️:acquire: Pass an attempt cap from opts to m::fetch. 2020-11-20 20:38:07 -08:00
Jason Volk
e1d52b28ce ircd:Ⓜ️:acquire: Add state dispatch component; minor cleanup. 2020-11-20 20:38:07 -08:00
Jason Volk
a5da068d0d ircd:Ⓜ️:room::state: Add fetch interface similar to room::head; w/ console cmd. 2020-11-20 18:28:32 -08:00
Jason Volk
e9fb24bdd9 ircd:Ⓜ️:acquire: Add vm::opts to interface options; add per-operation eval opts. 2020-11-20 16:50:17 -08:00
Jason Volk
b897071ce3 ircd:Ⓜ️:vm: Add options over existing state fetch decisions. 2020-11-20 13:55:19 -08:00
Jason Volk
1c0a9f3020 ircd:Ⓜ️:acquire: Use class linkage; tweak option interface; add instance_list. 2020-11-19 19:06:04 -08:00
Jason Volk
7d091f8d55 ircd:Ⓜ️:init::backfill: Improve worker termination and release of context. 2020-11-19 19:06:04 -08:00
Jason Volk
a80c6f9c1c ircd:Ⓜ️:acquire: Prevent duplicate fetch during submit. 2020-11-18 21:02:49 -08:00
Jason Volk
99b9ab4167 ircd:Ⓜ️:acquire: Granular targeting options for procurement. 2020-11-18 17:19:07 -08:00
Jason Volk
2aa1d6520a ircd:Ⓜ️:user::registar: Allow full mxid argument w/ localname extraction. 2020-11-16 07:22:12 -08:00
Jason Volk
f558c05483 ircd:Ⓜ️:acquire: Improve work cycle; additional debuglog; tweak options. 2020-11-15 05:48:25 -08:00
Jason Volk
32732a847b ircd:Ⓜ️ Use canonical path constructions for all generated amalgams. 2020-11-15 02:27:33 -08:00
Jason Volk
bb7cda6fec ircd:Ⓜ️:room::events: Increase the viewport size. 2020-11-13 22:49:57 -08:00
Jason Volk
e3eb555cc4 ircd:Ⓜ️:acquire: Use backfill method; dilate to next sounding. 2020-11-13 21:07:14 -08:00
Jason Volk
04c398cc0c ircd:Ⓜ️:room::events::sounding: Improve depth-seek semantics of base iterations. 2020-11-13 00:52:31 -08:00
Jason Volk
4521054078 ircd:Ⓜ️:room::events: Remove event_idx value from result twain/hazard tool results. 2020-11-13 00:52:31 -08:00
Jason Volk
4b60068809 ircd:Ⓜ️:room::aliases: Improve aliases cache::get related. 2020-11-11 22:49:39 -08:00
Jason Volk
85bd984da7 ircd:Ⓜ️:events::missing: Reverse primary iteration; improve interface related. 2020-11-11 22:49:39 -08:00
Jason Volk
4212f46372 ircd:Ⓜ️:acquire: Refactor acquire to inline-worker model; add console cmd. 2020-11-11 22:49:39 -08:00
Jason Volk
aca6aae5fd modules/m_room_tombstone: Invalidate alias cache entries for effect. 2020-11-11 22:49:39 -08:00
Jason Volk
86555fbee6 modules/federation: Deduplicate and integrate /state/ and /state_ids/ in same unit. 2020-11-11 22:49:39 -08:00
Jason Volk
6f8beb26c8 ircd:Ⓜ️:dbs: Additional cleanup w/ integrated type checking. 2020-11-11 22:49:39 -08:00
Jason Volk
9b4dd43cf2 ircd:Ⓜ️:dbs: Cleanup event_refs indexer/prefetcher API usage/syntax. 2020-11-11 22:49:39 -08:00
Jason Volk
a4da3a2b83 ircd:Ⓜ️:dbs: Add runlevel QUIT handler for bgcancel(events). 2020-11-11 13:11:57 -08:00
Jason Volk
e44fcf62bf ircd:Ⓜ️:fetch: Fix missing condition for initial random target selection. 2020-11-08 06:39:24 -08:00
Jason Volk
bcf8f0531f ircd:Ⓜ️:request: Reclaim small tls buffer. 2020-11-08 02:25:31 -08:00
Jason Volk
b59e5cd166 ircd:Ⓜ️:fetch: Simplify adherence to attempt limit option. 2020-11-08 02:25:31 -08:00
Jason Volk
0f84f959a7 ircd:Ⓜ️:fetch: Fix erroneous direct assignment to request.origin. 2020-11-06 22:06:16 -08:00
Jason Volk
ef6f98eeec ircd:Ⓜ️:fetch: Fix erroneous return before starting (30d4a89db9). 2020-11-06 22:06:16 -08:00
Jason Volk
e2f495c4a8 ircd:Ⓜ️:room::head::fetch: Add opts for result limitations. 2020-11-05 22:10:54 -08:00
Jason Volk
6fe770b4bf ircd:Ⓜ️:room::head: Add fetch interface. 2020-11-05 22:10:54 -08:00
Jason Volk
6b1305df8a modules/federation: Replace backfill_ids endpoint with pdu_ids query parameter. 2020-11-05 22:10:53 -08:00
Jason Volk
f3886d60d8 ircd: Replace callsites w/ template deduced mutable_cast. 2020-11-05 22:10:53 -08:00
Jason Volk
a6d47ccfcd ircd:Ⓜ️ Simplify various future timed wait()/get() related. 2020-11-05 22:10:53 -08:00
Jason Volk
8a078b78fd ircd:Ⓜ️:room: Optimize internal(room) query pattern. 2020-11-05 22:10:53 -08:00
Jason Volk
c56b4a4ee9 ircd:Ⓜ️:dbs: Add conf item toggling indexer prefetching. 2020-11-05 22:10:53 -08:00
Jason Volk
c17c96d965 ircd:Ⓜ️:homeserver::bootstrap: Improve error reporting w/ file byte offset. 2020-11-05 22:10:53 -08:00
Jason Volk
038bb33576 ircd:Ⓜ️:homeserver::bootstrap: Fix redundant message prepend during error propagation. 2020-11-05 22:10:53 -08:00
Jason Volk
d3b33ec811 ircd:Ⓜ️:dbs: Add prefetch handlers; mechanism and related options. 2020-10-31 12:05:51 -07:00
Jason Volk
ae2d112612 ircd:Ⓜ️:prefetch: Prefetch index; prevent blocking on translation. 2020-10-31 12:05:51 -07:00
Jason Volk
30d4a89db9 ircd:Ⓜ️:fetch: Additional legacy event_id hostpart fallback. 2020-10-29 07:49:04 -07:00
Jason Volk
1244002de3 ircd:Ⓜ️:fetch: Test viability of supplied remote hint before selecting. 2020-10-29 04:49:51 -07:00
Jason Volk
cdb52ba99a ircd:Ⓜ️:fetch: Cleanup/Improve remote selection related. 2020-10-29 04:49:51 -07:00
Jason Volk
a07498f0fe ircd:Ⓜ️:fetch: Fix clang loop reference variable warning. 2020-10-29 04:49:51 -07:00
Jason Volk
a92bb97e80 ircd:Ⓜ️:fed::well_known: Assertion for throw option expectation. 2020-10-29 04:49:51 -07:00
Jason Volk
30796e5729 ircd::buffer: Fix template name conflicts for clang-11; apply inline linkages.
ircd::json::tuple: Fix template name related for clang-11.

ircd::ctx: Fix template related for clang-11; inline linkages.

ircd:Ⓜ️🪝 Fix template related for clang-11.
2020-10-29 04:06:59 -07:00
Jason Volk
f6a5e8daf3 ircd:Ⓜ️:app: Implement stdin to app from room. 2020-10-28 05:39:09 -07:00
Jason Volk
55e7b83ca7 ircd:Ⓜ️:app: Improve stdout handler; member state off of worker stack. 2020-10-28 04:35:45 -07:00
Jason Volk
f026e81a07 ircd: Instrument against string_view(string&&) impossible construction.. 2020-10-28 03:31:55 -07:00
Jason Volk
813b686e97 ircd:Ⓜ️:app: Add autorun mechanism; conf items; program options. 2020-10-27 04:11:44 -07:00
Jason Volk
5ed2022517 ircd:Ⓜ️:app: Additional conf item to enable w/ persist. 2020-10-27 04:11:44 -07:00
Jason Volk
5c1980da70 ircd:Ⓜ️:room: Add preliminary interface specific to event content. 2020-10-27 04:11:44 -07:00
Jason Volk
cc8c9942a4 ircd:Ⓜ️:push::request: Add conf item to toggle functionality. 2020-10-25 00:30:35 -07:00
Jason Volk
891cba3fb9 modules/m_pusher: Implement Push Gateway 3.1 POST Server Behavior. (closes #63) 2020-10-25 00:30:35 -07:00
Jason Volk
3cbf610cd0 ircd:Ⓜ️:user::pushers: Additional derivative utils for interface. 2020-10-25 00:09:59 -07:00
Jason Volk
5265b955f6 modules/m_pusher: Add preliminary pusher hook; worker loop. 2020-10-24 07:31:31 -07:00
Jason Volk
8d1e9dee65 ircd:Ⓜ️:push: Disable the default underride rule for m.room.message. 2020-10-24 06:27:36 -07:00
Jason Volk
27fe4a9d81 ircd:Ⓜ️:app: Add restriction binpath; improve stdio to room; improve console cmd. 2020-10-24 06:26:44 -07:00
Jason Volk
1874400bdd ircd:Ⓜ️:resource: Fix regression in Host string compare con canon port. 2020-10-24 01:59:11 -07:00
Jason Volk
0e32ff76cb ircd:Ⓜ️:fetch: Add last resort fallback to mxid host. 2020-10-21 00:34:05 -07:00
Jason Volk
5d7f56a5ce ircd:Ⓜ️:app: Application management infrastructure w/ cmd suite. 2020-10-20 23:20:41 -07:00
Jason Volk
33e54f1ccb ircd:Ⓜ️:acquire: Minor cleanup; fix comment. 2020-10-20 23:20:41 -07:00
Jason Volk
8385a63886 ircd:Ⓜ️🆔 Relax user_id character grammar. 2020-10-20 22:34:45 -07:00
Jason Volk
263596b584 ircd:Ⓜ️:fed::well_known: Remove unused debuglog buffer. 2020-10-20 22:19:34 -07:00
Jason Volk
b407769e21 ircd:Ⓜ️:fed::well_known: Add condition for result extrication w/ OK code.
ircd:Ⓜ️:fed::well_known: Add internal buffer w/ copy for m_server.
2020-10-20 20:55:30 -07:00
Jason Volk
676e657368 ircd:Ⓜ️:fed::well_known: Fix expiration condition. 2020-10-16 14:32:06 -07:00
Jason Volk
f1557bee78 modules/widget: Stub GET ui/v1 w/ some params. 2020-10-16 03:48:57 -07:00
Jason Volk
ccdd712188 modules/widget: Stub GET /widget/account. 2020-10-16 03:48:57 -07:00
Jason Volk
7b15568737 modules/widget: Start widget support; stub registration endpoint. 2020-10-16 03:48:57 -07:00
Jason Volk
a4f105d390 ircd:Ⓜ️:events: Use better buffer size constant. 2020-10-16 02:40:39 -07:00
Jason Volk
a9a54f11de ircd:Ⓜ️:feds: Add prelink loop before request loop w/ options toggle. 2020-10-16 02:40:39 -07:00
Jason Volk
d04008a45f ircd:Ⓜ️:fed: Add non-blocking prelink to interface. 2020-10-16 02:40:39 -07:00
Jason Volk
785d9e3af4 ircd:Ⓜ️:keys: Add key id to error string if possible. 2020-10-16 02:40:39 -07:00
Jason Volk
f0803714e5 ircd:Ⓜ️:keys: Improve pretty(m::keys) output order. 2020-10-16 02:40:39 -07:00
Jason Volk
c11e8e85ed ircd:Ⓜ️:fed::well_known: Refactor to single-worker pattern. 2020-10-16 01:40:40 -07:00
Jason Volk
142179e4a5 ircd:Ⓜ️:fed::well_known: Convert to future interface w/ dummy impl. 2020-10-15 04:55:38 -07:00
Jason Volk
7bac03372d ircd:Ⓜ️:fed: Improve observer interface; employ opts; document/comments. 2020-10-14 22:04:04 -07:00
Jason Volk
3f6d90c7a8 ircd:Ⓜ️:fed: Move head fetch convenience to room::head interface. 2020-10-14 22:04:04 -07:00
Jason Volk
888c62c156 ircd:Ⓜ️:fed::well_known: Simplify interface; add opts struct. 2020-10-14 22:04:04 -07:00
Jason Volk
7f94cdeeea ircd:Ⓜ️:events::refs: Reduce default readahead. 2020-10-14 02:22:45 -07:00
Jason Volk
62fdaaa389 ircd:Ⓜ️:events::refs: Add unbounded column scan w/ console cmd. 2020-10-12 18:07:39 -07:00
Jason Volk
325145ab29 ircd:Ⓜ️:events::source: Disable readahead for descending access pattern. 2020-10-11 17:36:03 -07:00
Jason Volk
d4f6e3e8ea ircd:Ⓜ️:event::refs: Simplify closure typename. 2020-10-11 11:42:48 -07:00
Jason Volk
26f9acb81f ircd:Ⓜ️:fed::well_known: Move loose request stack objects into struct. 2020-10-10 19:07:04 -07:00
Jason Volk
21d681d59e ircd:Ⓜ️:vm: Assume hash match; bypass query for internal rooms. 2020-10-09 03:50:24 -07:00
Jason Volk
e6a7904040 ircd:Ⓜ️:events: Refactor for_each interface; split into raw suite. 2020-10-07 15:12:12 -07:00
Jason Volk
767322dc37 ircd::rand: Simplify interface; comments/cleanup. 2020-10-06 16:25:03 -07:00
Jason Volk
7745bdcc24 ircd:Ⓜ️:user::profile: Fix brace initializer argument ambiguation. 2020-10-06 00:43:13 -07:00
Jason Volk
61d3867e82 ircd:Ⓜ️:user::profile: Minor simplify. 2020-10-06 00:43:13 -07:00
Jason Volk
ab38cd7b65 ircd:Ⓜ️:room::bootstrap: Increase stack size. 2020-10-06 00:02:29 -07:00
Jason Volk
0f94fe66cb ircd:Ⓜ️:fed::well_known: Move valid cache hit branch before fetch; minor cleanup. 2020-10-06 00:02:29 -07:00
Jason Volk
444fb3ad23 ircd:Ⓜ️:fed::well_known: Split fetch into async request/resolve. 2020-10-05 19:39:57 -07:00
Jason Volk
c57844df2d ircd:Ⓜ️:vm::fetch: Propagate remote hint to event fetch opts for state fetch. 2020-10-03 04:49:53 -07:00
Jason Volk
0e13620604 ircd:Ⓜ️:vm: Propagate authority for hash mismatch for state eval. 2020-10-03 04:27:52 -07:00
Jason Volk
b96a98abe9 ircd:Ⓜ️:vm: Propagate authority for hash mismatch for auth_chain eval. 2020-10-03 04:27:52 -07:00
Jason Volk
e362a509d8 ircd:Ⓜ️:fetch: Add result check opts to request interface opts; feature authoritative_redactions. 2020-10-03 04:27:52 -07:00
Jason Volk
6179c511d4 ircd:Ⓜ️:request: Fix complex thread-local initialization. (#109) 2020-10-03 03:09:20 -07:00
Jason Volk
f8530e62d8 ircd:Ⓜ️:fed: Remove trailing solidus on request for dendrite. 2020-10-03 02:31:20 -07:00
Jason Volk
f03db0115f ircd:Ⓜ️:fed: Fix content/uri buffer reuse. 2020-10-03 02:31:20 -07:00
Jason Volk
bfaf21807b ircd:Ⓜ️:request: Minor simplify. 2020-10-03 02:31:20 -07:00
Jason Volk
bdf3e0a126 ircd:Ⓜ️:fed: Prevent appending empty id parameters; minor cleanup. 2020-10-03 02:31:20 -07:00
Jason Volk
731dd7c1c0 ircd:Ⓜ️:fed: Fix view pointer to temp rvalue. 2020-10-03 02:31:20 -07:00
Jason Volk
eb2facbfd2 ircd:Ⓜ️:dbs: Add compression conf items for all columns. 2020-10-01 19:15:15 -07:00
Jason Volk
c2e5ede3ec ircd:Ⓜ️:homeserver: Workaround for json::member template nested brace initializer issue. 2020-10-01 18:04:43 -07:00
Jason Volk
684839235e ircd:Ⓜ️:fed: Remove trailing solidus on send request. 2020-10-01 15:51:59 -07:00
Jason Volk
25a518e642 ircd:Ⓜ️:vm: Set need_top_head=true on internal rooms for now. 2020-10-01 03:49:41 -07:00
Jason Volk
fecd009ffb ircd:Ⓜ️:db: Fix accounting for index compression.
Revert 1051e740cc.
2020-09-30 19:40:29 -07:00
Jason Volk
12f28c8f9f ircd:Ⓜ️:dbs: Relax assertion. 2020-09-30 16:35:34 -07:00
Jason Volk
7034fadd64 ircd:Ⓜ️:vm: Clear existing eval txn on entry side instead of unwind. 2020-09-29 10:23:38 -07:00
Jason Volk
fb823e3d40 ircd:Ⓜ️:dbs: Revert 563f833ab3; relax assertion. 2020-09-29 10:23:38 -07:00
Jason Volk
1051e740cc ircd:Ⓜ️:dbs: Remove compression on _event_idx. 2020-09-29 08:01:14 -07:00
Jason Volk
1bb6c2dcd0 ircd:Ⓜ️:events: Open dump file w/ exclusive option; prevent overwrite. 2020-09-28 22:33:46 -07:00
Jason Volk
1b390bdd17 ircd:Ⓜ️:event: Eliminate several small thread-local buffers; simplify. 2020-09-28 22:33:46 -07:00
Jason Volk
bd641e76ad ircd:Ⓜ️:event: Compare decoded hash to allow both rfc4648 and rfc1421 compat. 2020-09-28 05:56:03 -07:00
Jason Volk
4b590ecc41 ircd:Ⓜ️:events: Add rates to events dump infolog. 2020-09-27 18:12:51 -07:00
Jason Volk
bae534d56b ircd:Ⓜ️:homeserver: Bail from ctor if the database remains empty after bootstrap. 2020-09-27 15:44:53 -07:00
Jason Volk
2b86a4cbb8 ircd:Ⓜ️:homeserver: Add "valid-json" diagnostic mode to vector bootstrap. 2020-09-27 15:44:53 -07:00
Jason Volk
a73b538349 ircd:Ⓜ️:room: Add contains() tool. 2020-09-27 14:57:07 -07:00
Jason Volk
563f833ab3 ircd:Ⓜ️:dbs: Fix causality violation; prevent queries to the future. 2020-09-24 07:04:05 -07:00
Jason Volk
245921c2b6 ircd::db: Yield context on stall condition callback to relieve some pressure. 2020-09-24 02:58:31 -07:00
Jason Volk
860f76bbae ircd:Ⓜ️:dbs: Shorten description. 2020-09-20 14:24:47 -07:00
Jason Volk
7b238fe15d ircd:Ⓜ️:homeserver: Make use of batch size constant for event vector size.
ircd:Ⓜ️:homeserver: Comments; minor cleanup.
2020-09-20 14:24:47 -07:00
Jason Volk
e2ac5c6fc7 ircd::db: Use conf item for default compression string in descriptor. 2020-09-20 12:50:17 -07:00
Jason Volk
1901da6fde ircd:Ⓜ️:events: Use better low watermark to not invalidate checkpoint. 2020-09-18 22:18:27 -07:00
Jason Volk
bb386c5ab4 ircd:Ⓜ️:event: Fix integer value recast (assertion from 8ab735d002). 2020-09-18 19:09:19 -07:00
Jason Volk
08811519cf ircd:Ⓜ️:vm: Move internal room determination before room version procurement. 2020-09-17 10:49:41 -07:00
Jason Volk
677f2f6504 ircd:Ⓜ️:room::auth::chain: Parallelize query. 2020-09-17 10:49:41 -07:00
Jason Volk
347cdba1c6 ircd:Ⓜ️:room::auth: Parallelize index query. 2020-09-17 10:49:41 -07:00
Jason Volk
076384d697 ircd:Ⓜ️:dbs: Add prefetch loop for horizon resolver. 2020-09-17 10:49:41 -07:00
Jason Volk
0335bfa948 ircd:Ⓜ️:dbs: Parallelize auth reference indexer queries. 2020-09-17 10:49:41 -07:00
Jason Volk
c83ec8324b ircd:Ⓜ️:dbs: Parallelize the prev_events reference index queries. 2020-09-17 10:49:41 -07:00
Jason Volk
9165975953 ircd:Ⓜ️:dbs: Supersede index query tool with parallel impl. 2020-09-17 10:49:41 -07:00
Jason Volk
099b6d8301 ircd:Ⓜ️ Add parallel event::idx query to interface. 2020-09-17 10:49:41 -07:00
Jason Volk
8ab735d002 ircd:Ⓜ️:index: Optimize call chain; branch reduction; indirect call elimination. 2020-09-17 10:49:41 -07:00
Jason Volk
0675a621f1 ircd:Ⓜ️:homeserver: Add specific option to toggle initial backfill jobs after startup. 2020-09-16 23:00:58 -07:00
Jason Volk
cdadc3dfe8 ircd:Ⓜ️:homeserver: Skip head updates during bootstrap. 2020-09-16 04:41:32 -07:00
Jason Volk
d4677e2a29 ircd:Ⓜ️:roomstrap: Remove redundant parallel key fetching subroutine. 2020-09-16 04:31:37 -07:00
Jason Volk
03b6261dd8 ircd:Ⓜ️:vm::eval: Cleanup parallel key pre-fetcher. 2020-09-16 04:31:37 -07:00
Jason Volk
335a045d41 ircd:Ⓜ️:homeserver: Add manual memtable flush after bootstrap. 2020-09-16 01:03:42 -07:00
Jason Volk
8abab587ac ircd:Ⓜ️ Move modules/vm_fetch to central lib. 2020-09-15 22:16:11 -07:00
Jason Volk
4ecb2d0d5f ircd: Add distinct maintenance mode; chain write-avoid/read-only and net listen modes. 2020-09-15 22:16:11 -07:00
Jason Volk
772022a74e ircd::ed25519: Add create option to ctor; remove reference to global. 2020-09-15 18:46:28 -07:00
Jason Volk
a90191792e ircd:Ⓜ️:homeserver: Adjust assertions to continue incomplete bootstrap. 2020-09-15 04:33:28 -07:00
Jason Volk
b3085eecd8 ircd:Ⓜ️:vm: Add inner batch loop around parallel existence query. 2020-09-14 14:16:31 -07:00
Jason Volk
1407d8451a ircd:Ⓜ️:homeserver: Use batched eval in bootstrap loop. 2020-09-14 14:16:31 -07:00
Jason Volk
fb1f36ce72 ircd:Ⓜ️:vm: Remove call operators; inline trivial getter. 2020-09-13 16:10:40 -07:00
Jason Volk
bf8dd39144 ircd:Ⓜ️:vm: Move vector eval related to execute unit. 2020-09-13 16:10:40 -07:00
Jason Volk
a02bd474d7 Fix EXTRA_CXXFLAGS append order regression. 2020-09-13 14:32:47 -07:00
Jason Volk
4187a7aff2 ircd:Ⓜ️:homeserver: Additional bootstrap infolog, options; minor cleanup. 2020-09-13 10:29:26 -07:00
Jason Volk
034e5871a7 ircd:Ⓜ️:homeserver: Add conditions to bootstrap. 2020-09-13 09:14:05 -07:00
Jason Volk
453748c00a ircd:Ⓜ️:homeserver: Optimize bootstrap eval w/ unique/replays assumptions. 2020-09-13 09:14:05 -07:00
Jason Volk
87cff29e53 ircdⓂ️:dbs: Reduce content column block size. 2020-09-12 22:31:06 -07:00
Jason Volk
1dbce276d9 ircd:Ⓜ️:homeserver: Improve bootstrap loop; options, errors. 2020-09-12 07:03:21 -07:00
Jason Volk
afe0b96249 ircd::db: Support universal compaction by default; various write tweaks. 2020-09-12 07:03:21 -07:00
Jason Volk
1a7447837e ircd:Ⓜ️:vm: Remove legacy options; fix appendix masking. 2020-09-12 07:03:21 -07:00
Jason Volk
4e3348d3c3 ircd:Ⓜ️:events: Add elapsed time to events dump. 2020-09-12 05:01:29 -07:00
Jason Volk
b532523d04 ircd:Ⓜ️:events: Add checkpoint to events dump; adjust low watermark for flush. 2020-09-10 23:50:47 -07:00
Jason Volk
934ad6f70d ircd:Ⓜ️:homeserver: Allow instance w/o event signing key. 2020-09-10 23:50:47 -07:00
Jason Volk
ed6e2cff7a ircd:Ⓜ️ Integrate room_id in comparison operator suite. 2020-09-10 23:50:47 -07:00
Jason Volk
12bed2d87b ircd:Ⓜ️:room: Add json::tuple for m.room.message schema; property names. 2020-09-10 23:50:47 -07:00
Jason Volk
ab58cedc09 ircd:Ⓜ️:homeserver: Additional bootstrap vector related; comments; cleanup. 2020-09-07 17:01:45 -07:00
Jason Volk
5c7007ebef ircd:Ⓜ️:vm::eval: Add coarse limit to options for array evals. 2020-09-07 17:01:45 -07:00
Jason Volk
bd43de46b7 ircd:Ⓜ️:events: Move flusher closure; minor cleanup. 2020-09-07 17:01:45 -07:00
Jason Volk
7642f50ebb ircd:Ⓜ️:events: Add readahead; add conf item. 2020-09-07 17:01:44 -07:00
Jason Volk
cc123836ef ircd:Ⓜ️:events: Start a content scanning interface. 2020-09-07 17:01:44 -07:00
Jason Volk
3cc7885ee4 ircd:Ⓜ️:homeserver: Improve/reorg and comment on eval opts for bootstrap vector. 2020-08-31 18:34:25 -07:00
Jason Volk
b0a53ffd33 ircd:Ⓜ️:vm: Add option to skip any sorting/reordering for array eval. 2020-08-31 17:18:48 -07:00
Jason Volk
f2e851f875 ircd:Ⓜ️:events: Fix format string specifier. 2020-08-31 17:18:48 -07:00
Jason Volk
19b9113222 ircd:Ⓜ️:homeserver: Reorg bootstrap; add preliminary vector evaluator. 2020-08-28 05:18:57 -07:00
Jason Volk
a9878ae5f7 ircd:Ⓜ️ Handle and report id error in pretty oneline. 2020-08-28 05:18:57 -07:00
Jason Volk
135d134c2c ircd:Ⓜ️:vm: Minor merge branch sections. 2020-08-28 05:18:57 -07:00
Jason Volk
a8cd30157e ircd:Ⓜ️:room::bootstrap: Add expectation for non-empty host. 2020-08-28 05:18:57 -07:00
Jason Volk
9c4aea4ca6 ircd:Ⓜ️:events: Improve robustness of loop conditions; range controls. 2020-08-28 05:18:57 -07:00
Jason Volk
3930910cdb ircd:Ⓜ️:events: Use streaming json::stack array for events dump. 2020-08-28 05:18:57 -07:00
Jason Volk
a0f219a91b ircd:Ⓜ️:homeserver: Split bootstrap related into unit. 2020-08-28 05:18:57 -07:00
Jason Volk
57c27d7507 ircd:Ⓜ️:breadcrumbs: Use non-reference type; range loop copy warning. 2020-08-23 02:36:01 -07:00
Jason Volk
8e7c1c3eb2 ircd:Ⓜ️ Rename breadcrumb_rooms to breadcrumbs; related. 2020-08-23 02:32:54 -07:00
Jason Volk
44bd60ea08 ircd::b64: Add encoding diction parameter; remove converters; reorg interface. 2020-08-10 06:19:48 -07:00
Jason Volk
7ff89fbd17 ircd: Split base64 and base58 into separate namespaces. 2020-08-10 04:56:28 -07:00
Jason Volk
4a2adc4123 ircd::base: Remove allocated string convenience overloads; simplify interface. 2020-08-09 02:39:31 -07:00
Jason Volk
5774c849bb ircd:Ⓜ️:room::head: Try more eagerly to find and generate room head in some cases. 2020-08-05 16:30:42 -07:00
Jason Volk
8df7fd1180 ircd:Ⓜ️:error: Gracefully handle string content case. 2020-08-04 19:34:47 -07:00
Jason Volk
6ae8357c65 ircd:Ⓜ️:error: Use json::string type for property access; contain exceptions. 2020-08-04 19:30:05 -07:00
Jason Volk
9eed4dfa5f ircd:Ⓜ️:event::fetch: Use hidden section for non-plt/internal linkage. 2020-08-02 09:43:39 -07:00
Jason Volk
ccbd6c80bb ircd:Ⓜ️:fed: Use lvalue construction style for request buffer options. 2020-08-02 01:57:56 -07:00
Jason Volk
748c7730b1 modules/client/sync: Preliminary groups sync module stub. 2020-07-30 13:25:43 -07:00
Jason Volk
f12d197a32 ircd:Ⓜ️ Add missing federation_rooms module to load list. 2020-07-30 13:25:43 -07:00
Jason Volk
1877972828 ircd:Ⓜ️:groups: Start namespace, central lib; preliminary client resource module. 2020-07-30 10:24:10 -07:00
Jason Volk
9c3cd55639 ircd:Ⓜ️:groups: Preliminary stub for client/create_group. 2020-07-30 10:24:10 -07:00
Jason Volk
2f6f2af06f Reserve EXTRA_* flag sets for user.
configure: Move unit configuration section above application settings.

configure: -fasm-blocks not yet useful without GCC parity.
2020-07-30 06:38:51 -07:00
Jason Volk
4b7ebb3cf0 ircd::db: Elide std::function wrapping for equal comparator (related 6c2736f592). 2020-07-28 01:24:27 -07:00
Jason Volk
f2c182b403 ircd::db: Set max_open_files=-1 when required for secondary mode.
ircd:Ⓜ️:dbs: Condition option from being set in slave/secondary mode.

ircd::db: Skip snapshot creation in slave/secondary mode (required).

ircd::db: Slave implies read-only.
2020-07-28 00:38:46 -07:00
Jason Volk
daa3cd6284 ircd:Ⓜ️:homeserver: Fix missing conditions for write-avoid functionality. 2020-07-28 00:38:46 -07:00
Jason Volk
dd17ba9dec ircd:Ⓜ️:vm: Remove call to list member w/ template defined in another unit. 2020-07-25 09:21:01 -07:00
Jason Volk
ad6bd68b80 ircd:Ⓜ️:vm: Add case for counter value to quash warning. 2020-07-25 09:12:00 -07:00
Jason Volk
ecefcea599 ircd:Ⓜ️:roomstrap: Disable any notifies on eval path. 2020-07-21 01:50:34 -07:00
Jason Volk
ef3f63ec95 ircd:Ⓜ️:feds: Remove final specifier. 2020-07-19 20:35:22 -07:00
Jason Volk
60c1efc5be ircd:Ⓜ️ Disable all bloom filter bits by default. 2020-07-17 18:28:32 -07:00
Jason Volk
6adc71151d ircd:Ⓜ️:dbs: Disable bloom filter on event property columns. 2020-07-16 00:02:31 -07:00
Jason Volk
454e1bdd40 ircd:Ⓜ️ Move media module init order. 2020-07-13 20:18:18 -07:00
Jason Volk
d371fba034 ircd::db: Use reference to prevent string copy.
ircd:Ⓜ️ Fix reference/copy related warnings in clang-10.
2020-07-10 23:58:07 -07:00
Jason Volk
31bd80a6d1 Consolidate application of -flax-vector-conversions. 2020-07-10 20:12:33 -07:00
Jason Volk
d44ad15261 ircd:Ⓜ️:fetch: Add redaction query for non-conformity check; conf item. 2020-07-06 17:31:04 -07:00
Jason Volk
91d57ea989 ircd:Ⓜ️:vm: Add content requirement and redaction hint opts for non-conforming mask. 2020-07-06 17:31:04 -07:00
Jason Volk
41e13921c3 ircd:Ⓜ️:fetch: Enable conformity check for fetch by default. 2020-07-06 17:31:04 -07:00
Jason Volk
b32d2f07f5 Relax vector conversions in translation units; enforce in headers. 2020-07-06 17:31:04 -07:00
Jason Volk
14c652181d ircd:Ⓜ️:pretty_detailed: Fix cache keys selection on null event_idx. 2020-07-05 03:54:03 -07:00
Jason Volk
67dec89155 ircd:Ⓜ️🪝 Simplify debuglog msgs. 2020-06-20 06:25:54 -07:00
Jason Volk
bc1e54aa12 ircd:Ⓜ️:event: Minor rename; additional diagnostic arguments. 2020-06-19 22:53:01 -07:00
Jason Volk
2b86779a26 ircd:Ⓜ️:event::conforms: Log error if evaluation throws. 2020-06-18 22:56:21 -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
4ef7754ed5 ircd:Ⓜ️:room::members: Eliminate unnecessary query to the room state. 2020-06-14 22:05:15 -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
751b413f0d ircd:Ⓜ️:vm: Relax head::generate options for internal rooms. 2020-06-12 20:36:46 -07:00
Jason Volk
b2564fb5d2 ircd:Ⓜ️:vm: Decide if internal room at issue stage. 2020-06-12 20:36:46 -07:00
Jason Volk
356e2301e9 ircd:Ⓜ️:init::backfill: Improve info/errlog msg conditions. 2020-06-12 19:24:18 -07:00
Jason Volk
97269da444 ircd:Ⓜ️:init::backfill: Improve initial backfill termination. 2020-06-12 19:18:49 -07:00
Jason Volk
59665babae ircd:Ⓜ️:dbs: Enable compression on _event_idx column. 2020-06-12 15:34:49 -07:00
Jason Volk
cb2b92b241 ircd:Ⓜ️:room: Improve error strings for room_id() resolve interface. 2020-06-11 17:09:56 -07:00
Jason Volk
99504180c0 ircd:Ⓜ️:event::prev: Optimize existential tools with parallel queries. 2020-06-11 02:35:59 -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
496567b837 ircd:Ⓜ️:event: Add parallel exists() to interface. 2020-06-09 04:38:07 -07:00
Jason Volk
b2da14b6fc ircd:Ⓜ️:event::fetch: Optimize row-assigned fetch event_id query related. 2020-06-08 21:28:07 -07:00
Jason Volk
5905a357cb ircd:Ⓜ️:fed::well_known: Add user-agent on well-known requests. 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
c32e5c92ab ircd:Ⓜ️:dbs: Bound compaction of _room_head within 24h. 2020-06-07 05:46:24 -07:00
Jason Volk
4333e510ef ircd:Ⓜ️:sync: Improve sync::item exception propagation; stop propagation. 2020-06-07 03:11:47 -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
0d30c08c9f ircd:Ⓜ️:vm: Remove redundant strings in error log msg. 2020-06-04 17:58:49 -07:00
Jason Volk
9af12a26e3 ircd:Ⓜ️ Improve error propagation through verify(). 2020-06-04 17:51:31 -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
3c137215f3 ircd:Ⓜ️:dbs: Increase default cache size for type column. 2020-05-30 01:30:58 -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
8bfdd7884b ircd:Ⓜ️🆔 Use generate template; optimize printer. 2020-05-26 04:54:52 -07:00
Jason Volk
ef022a215f ircd:Ⓜ️🪝 Use nothrow disable_interruption; propagate by default. 2020-05-24 21:06:17 -07:00
Jason Volk
77d823e8ee ircd:Ⓜ️:dbs: Tweak compression; default bloom bits for _event_idx. 2020-05-24 19:51:57 -07:00
Jason Volk
f78e23149d ircd:Ⓜ️ Optimize various callsites for type queries. 2020-05-24 19:08:08 -07:00
Jason Volk
cb310fd75f ircd:Ⓜ️:fed: Increase default well-known timeout. 2020-05-23 10:01:24 -07:00
Jason Volk
5aa0f875d8 ircd:Ⓜ️:fed: Always move result to front of caller buffer. 2020-05-23 10:01:24 -07:00
Jason Volk
00d4a488c6 ircd:Ⓜ️:dbs: Clarify integer cast type. 2020-05-19 15:55:18 -07:00
Jason Volk
06cf2ffa52 ircd:Ⓜ️:dbs: Use byte_view<> for binary index key part; add assertions. 2020-05-19 15:55:18 -07:00
Jason Volk
215a0148b4 ircd:Ⓜ️🪝:site: Add interrupt masking feature. 2020-05-18 19:02:49 -07:00
Jason Volk
72f9fcb01f ircd:Ⓜ️:init::backfill: Fix missing acquire options. 2020-05-14 14:30:32 -07:00
Jason Volk
da761ca5aa ircd:Ⓜ️:dbs: Increase some cache defaults. 2020-05-14 12:09:41 -07:00
Jason Volk
b4df449068 ircd:Ⓜ️:vm: Improve core sequence conditions.
ircd:Ⓜ️:vm: Simplify transaction sharing with parent.
2020-05-12 22:38:26 -07:00
Jason Volk
b2b989708d ircd:Ⓜ️:vm: Improve loghead; debuglog formats. 2020-05-12 22:27:53 -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
32c4ee29c5 ircd:Ⓜ️:vm::eval: Use delegation ctor on overloads. 2020-05-12 22:27:53 -07:00