0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-19 00:10:59 +01:00
Commit graph

869 commits

Author SHA1 Message Date
Jason Volk
24ce076c3d ircd:Ⓜ️:room::state: Add state::history interface derived from state::space. 2019-06-16 02:17:47 -07:00
Jason Volk
b5a61a7a6b ircd:Ⓜ️:room::state::space: Improve interface; fixes. 2019-06-16 01:00:47 -07:00
Jason Volk
493bd85c11 ircd:Ⓜ️:dbs: Add additional room state space key overload. 2019-06-15 15:20:00 -07:00
Jason Volk
390b8bf2fb ircd:Ⓜ️ Remove remaining vestiges of m::state.
closes #15.
2019-06-15 14:10:36 -07:00
Jason Volk
b78ea359b6 ircd::db: Rename db::index to db::domain; fix userspace. 2019-06-11 12:57:52 -07:00
Jason Volk
8e0ac58987 ircd:Ⓜ️:room: Expose bootstrap to interface. 2019-06-07 04:56:23 -07:00
Jason Volk
5afa11baca ircd:Ⓜ️:init: Improve exception propagation and abortive shutdown. 2019-06-06 19:41:48 -07:00
Jason Volk
f1b0ba8648 ircd:Ⓜ️:dbs: Involve the servername in the database path.
Fixes #75.
2019-06-06 18:47:44 -07:00
Jason Volk
475ee3867d ircd:Ⓜ️:event::horizon: Split the full column iteration into separate function. 2019-06-04 21:21:21 -07:00
Jason Volk
f5df386e1c ircd:Ⓜ️:fetch: Add a request count() to interface. 2019-06-04 18:50:17 -07:00
Jason Volk
b570497e75 ircd:Ⓜ️:vm: Improve aggregated eval loop. 2019-06-01 18:38:07 -07:00
Jason Volk
dd49243224 ircd:Ⓜ️:event: Add explicit event::id conversion. 2019-06-01 18:31:57 -07:00
Jason Volk
9661db89af ircd:Ⓜ️:events: Move file dumper to module. 2019-06-01 00:09:03 -07:00
Jason Volk
b403fbc421 ircd:Ⓜ️:events: Add event type name iteration.
ircd:Ⓜ️:events: Add sender name iteration.

ircd:Ⓜ️:events: Add origin name iteration.
2019-05-27 16:37:29 -07:00
Jason Volk
bab9d9d033 modules/vm: Create a general vm.access hook; move server_acl to module hookfn. 2019-05-26 21:00:54 -07:00
Jason Volk
25dd717b7e ircd:Ⓜ️:room::server_acl: Add a noexcept convenience check. 2019-05-26 20:25:15 -07:00
Jason Volk
eec6c40653 ircd:Ⓜ️ Abort the experimental id::node. 2019-05-26 19:13:20 -07:00
Jason Volk
1354066e3d modules/m_room_server_acl: Disregard port for comparison; improve docs; ctor. 2019-05-26 18:37:40 -07:00
Jason Volk
e038ebfaf1 ircd:Ⓜ️:room: Remove stale comments.
modules/vm: Minor cleanup.
2019-05-26 02:49:24 -07:00
Jason Volk
6baff99607 modules/m_room_server_acl: Optimize implementation IO. 2019-05-25 23:08:17 -07:00
Jason Volk
a44e491054 ircd:Ⓜ️:room: Add server_acl interface and protocol module. 2019-05-25 20:12:41 -07:00
Jason Volk
f02a1a2be6 ircd:Ⓜ️:vm: Relax fetch_prev_any enforcement by default. 2019-05-19 15:22:49 -07:00
Jason Volk
ea14caa95a ircd:Ⓜ️:dbs: Update comment for event_refs enum. 2019-05-19 15:11:58 -07:00
Jason Volk
c119c84c2f ircd:Ⓜ️:event: Augment event::horizon interface allowing full column iteration. 2019-05-17 02:26:27 -07:00
Jason Volk
5721920957 ircd:Ⓜ️:event: Start an event::horizon interface around dbs::event_horizon. 2019-05-17 00:07:18 -07:00
Jason Volk
2b011d80df ircd:Ⓜ️:dbs: Make indexers internal. 2019-05-15 21:12:59 -07:00
Jason Volk
304c6df468 ircd:Ⓜ️:dbs: Simplify indexers / interface. 2019-05-13 15:25:37 -07:00
Jason Volk
758a266b1b ircd:Ⓜ️:dbs: Rename room_space to room_state_space. 2019-05-13 12:37:00 -07:00
Jason Volk
614b9202fc ircd:Ⓜ️:room: Add state::space interface w/ console cmd. 2019-05-13 10:30:12 -07:00
Jason Volk
d1425da434 ircd:Ⓜ️:dbs: Typedef a tuple for room_space key; conditions for truncated key generation. 2019-05-13 10:19:18 -07:00
Jason Volk
e486d8907e ircd:Ⓜ️;dbs: Add _room_space metadata column. 2019-05-11 17:48:35 -07:00
Jason Volk
3293443cb8 ircd:Ⓜ️:vm: Add dbs::write_opts to vm::opts. 2019-05-11 15:30:40 -07:00
Jason Volk
6fe7329189 ircd:Ⓜ️:dbs: Rename room_head_refs to room_head_resolve. 2019-05-11 15:30:23 -07:00
Jason Volk
5af3d3a4f2 ircd:Ⓜ️:dbs: Add column layout key next to includes for quick reference. 2019-05-11 14:56:09 -07:00
Jason Volk
dc1b5f6881 ircd:Ⓜ️:dbs: Unsplit appendix.h and write_opts.h for better interface in dbs.h 2019-05-11 14:44:08 -07:00
Jason Volk
838ad51b05 ircd:Ⓜ️:dbs: Make blacklist a write option rather than API call. 2019-05-11 14:44:08 -07:00
Jason Volk
305e02db7c ircd:Ⓜ️:dbs: Split into headers by column. 2019-05-11 14:39:16 -07:00
Jason Volk
3ec009bf6d ircd:Ⓜ️ Rename function. 2019-05-10 00:20:02 -07:00
Jason Volk
c311a69c7b ircd:Ⓜ️:room: Add sounding iteration. 2019-05-10 00:06:17 -07:00
Jason Volk
f044b447e2 ircd:Ⓜ️:dbs: Split event_refs related into file. 2019-05-09 23:20:33 -07:00
Jason Volk
62f1b5a539 ircd:Ⓜ️:dbs: Rename and document various ref types. 2019-05-09 23:13:16 -07:00
Jason Volk
a331bc2882 ircd:Ⓜ️:dbs: Add interposing system for transaction self-references. 2019-05-09 21:53:12 -07:00
Jason Volk
61ff45214c ircd:Ⓜ️:dbs: Add missing prefix key creation overload. 2019-05-09 21:53:12 -07:00
Jason Volk
d81612a724 ircd:Ⓜ️ Checkpoint blerb rework. 2019-05-09 18:33:02 -07:00
Jason Volk
2d209388c1 ircd:Ⓜ️:dbs: Add event_horizon resolver. 2019-05-09 16:58:29 -07:00
Jason Volk
ed3a7343cf ircd:Ⓜ️:dbs: Add the event_horizon column. 2019-05-09 00:02:33 -07:00
Jason Volk
a8a6e1039d ircd:Ⓜ️:dbs: Split header into directory. 2019-05-08 21:53:04 -07:00
Jason Volk
47f496a155 ircd:Ⓜ️:room::timeline: Checkpoint initial interface. 2019-05-07 16:10:24 -07:00
Jason Volk
180c83634f ircd:Ⓜ️:dbs: Reorg write_opts; throw panic on nul event_idx; various. 2019-05-07 16:10:24 -07:00
Jason Volk
9d5f0049cf ircd:Ⓜ️:dbs: Reorg the indexer conditions. 2019-05-07 15:14:10 -07:00
Jason Volk
8e90f8de5d ircd:Ⓜ️:room::state: Add convenience to check if state event. 2019-05-06 20:47:12 -07:00
Jason Volk
6c43a47d87 ircd:Ⓜ️:room::messages: Add event_idx convenience conversion. 2019-05-06 14:36:49 -07:00
Jason Volk
d74985d3f9 ircd:Ⓜ️ Move event.h/room.h headers into their dirs. 2019-05-02 21:43:27 -07:00
Jason Volk
04e5e44c98 ircd:Ⓜ️:event: Use direct reference initialization for constexprs here. 2019-05-02 15:35:26 -07:00
Jason Volk
77a92a1874 modules/s_keys: Reorg free functions into namespace; various cleanup. 2019-05-01 15:40:17 -07:00
Jason Volk
a5f26db7ea modules/s_fetch: Split hook handler into auth and prev related subroutines. 2019-04-30 14:14:08 -07:00
Jason Volk
64770c0214 ircd:Ⓜ️:event::prev: Add suite to check if prev reference exists; minor cleanup. 2019-04-29 11:06:56 -07:00
Jason Volk
73ea2ff156 ircd:Ⓜ️:event: Add comment \brief's to prev and refs interfaces. 2019-04-29 10:59:33 -07:00
Jason Volk
17a9763da6 ircd:Ⓜ️:event::prev: Use size_t indexing rather than uint. 2019-04-29 10:57:43 -07:00
Jason Volk
80fb8699a1 ircd:Ⓜ️ Add a membership string size constant. 2019-04-27 18:32:45 -07:00
Jason Volk
425385265a ircd:Ⓜ️:room::origins: Minor reorg for_each. 2019-04-27 18:32:45 -07:00
Jason Volk
10b8e1d08b ircd:Ⓜ️:event::fetch: Relax object semantics. 2019-04-26 05:30:21 -07:00
Jason Volk
05306b2ce7 ircd:Ⓜ️ Minor formatting fix; remove stale comment. 2019-04-26 03:23:09 -07:00
Jason Volk
e5563586cf ircd:Ⓜ️ Additional room sounding tools; improve console cmd. 2019-04-26 01:47:13 -07:00
Jason Volk
486ca09153 ircd:Ⓜ️ Replace is_complete w/ sounding(); console cmd. 2019-04-26 01:35:39 -07:00
Jason Volk
ba797778d6 ircd:Ⓜ️ Provide event_idx for event after gap to closure. 2019-04-26 01:35:38 -07:00
Jason Volk
e3e9322718 ircd:Ⓜ️ Add a room depth gap sounding suite w/ console cmd. 2019-04-26 01:35:16 -07:00
Jason Volk
f26fc85b0a ircd:Ⓜ️:error: Add convenience getters for properties. 2019-04-25 23:35:46 -07:00
Jason Volk
541d95f47e ircd:Ⓜ️:v1: Add ids_only to event_auth opts. 2019-04-24 17:43:03 -07:00
Jason Volk
d18711503f ircd:Ⓜ️ Unsplit event/event.h room/room.h. 2019-04-22 21:38:27 -07:00
Jason Volk
f6314a4201 modules/s_fetch: Minor reorg; pass room arg to fetch::synchronize(). 2019-04-22 12:45:45 -07:00
Jason Volk
e3b1be2910 ircd:Ⓜ️:vm: Refactor various fetch related options. 2019-04-22 12:27:43 -07:00
Jason Volk
56dd0ed8e7 ircd:Ⓜ️:vm: Add opts to pass user_id/node_id of evaluator. 2019-04-22 12:25:50 -07:00
Jason Volk
b683f1d436 modules/vm: Assert options; prevent assignment of eval. 2019-04-22 12:23:37 -07:00
Jason Volk
21a62019f2 modules/vm: Simplify error wrapping on propagation. 2019-04-20 15:03:51 -07:00
Jason Volk
c7a872c67a ircd:Ⓜ️🪝 Add accounting for hook calls; site/hook current call count. 2019-04-18 21:52:33 -07:00
Jason Volk
02b835eb2b ircd:Ⓜ️:feds: Add additional options; document options. 2019-04-18 21:23:00 -07:00
Jason Volk
0176dba9a8 ircd:Ⓜ️:fetch: Consolidate interface; remove unused; reorg. 2019-04-18 19:12:37 -07:00
Jason Volk
0edd47d383 ircd:Ⓜ️:feds: Add vector of operations to API. 2019-04-18 15:26:03 -07:00
Jason Volk
5232893c6a ircd:Ⓜ️:fetch: Checkpoint frontfill / head selection related. 2019-04-18 05:17:49 -07:00
Jason Volk
bc922724cd ircd:Ⓜ️:feds: Refactor interface into opcode ABI. 2019-04-18 05:16:21 -07:00
Jason Volk
08cd894cd0 ircd:Ⓜ️:feds: Point to the opts in result struct. 2019-04-18 04:15:13 -07:00
Jason Volk
59982907d3 ircd:Ⓜ️:feds: Add feds::auth; update console cmd. 2019-04-18 04:13:21 -07:00
Jason Volk
871fb748eb ircd:Ⓜ️:fetch: Pass boolean values down the stack for start/prefetch. 2019-04-18 01:21:22 -07:00
Jason Volk
0fa4bdcff7 ircd:Ⓜ️:rooms: Consolidate / refine the rooms iteration interface. 2019-04-17 20:47:50 -07:00
Jason Volk
5fee4a9933 ircd:Ⓜ️:events: Add type-based iteration w/ console cmd. 2019-04-16 16:11:23 -07:00
Jason Volk
9b00c65ef6 ircd:Ⓜ️:events: Add additional lighter-weight event_idx iteration tools. 2019-04-16 16:11:23 -07:00
Jason Volk
d96208faaf ircd:Ⓜ️:events: Add iteration tools for events in sender/origin. 2019-04-16 16:11:23 -07:00
Jason Volk
ecbdf00f22 ircd:Ⓜ️:dbs: Add event_type metadata column. 2019-04-16 16:11:23 -07:00
Jason Volk
8148dc6502 ircd:Ⓜ️:dbs: Add event_sender metadata column. 2019-04-16 15:04:31 -07:00
Jason Volk
25d153d64c ircd:Ⓜ️:sync: Add an initial phase convenience; add account_data as an initial phase. 2019-04-16 01:32:52 -07:00
Jason Volk
307d8bf71c ircd:Ⓜ️:fetch: Fix object assignment semantics. 2019-04-15 14:44:58 -07:00
Jason Volk
77b16f32ce ircd:Ⓜ️:append: Calculate age based on depth from room head.
fixes #55
2019-04-15 14:44:58 -07:00
Jason Volk
2822cd0a8a ircd:Ⓜ️:fetch: Add headfill operation. 2019-04-12 05:09:38 -07:00
Jason Volk
eb33688bc1 ircd:Ⓜ️:fetch: Add additional interface tools; consolidate interface; cleanup/reorg.
ircd:Ⓜ️:fetch: Add backfill suite.
2019-04-12 04:44:26 -07:00
Jason Volk
7d27126f96 ircd:Ⓜ️:room: Add any_user() convenience. 2019-04-12 04:44:26 -07:00
Jason Volk
c14d67102a ircd:Ⓜ️:fetch: Reorient interface to expose fetch::request. 2019-04-12 03:35:46 -07:00
Jason Volk
eace5e309c ircd:Ⓜ️:feds: Add / upgrade backfill. 2019-04-12 01:53:57 -07:00
Jason Volk
360cc01dc8 ircd:Ⓜ️:feds: Migrate feds::perspective() to interface. 2019-04-12 00:55:16 -07:00
Jason Volk
06e381ce2b ircd:Ⓜ️:feds: Use a misc arg vector of string_view's. 2019-04-12 00:52:29 -07:00
Jason Volk
302969f100 ircd:Ⓜ️:feds: Add namespace \brief. Reorg impl layout. 2019-04-12 00:33:29 -07:00
Jason Volk
dc93610914 ircd:Ⓜ️:feds: Add feds::event to interface. 2019-04-12 00:16:27 -07:00
Jason Volk
c9c171ed5b ircd:Ⓜ️:feds: Refine the feds preliminary central interface. 2019-04-11 06:27:28 -07:00
Jason Volk
562651aa7d ircd:Ⓜ️:fetch: Add fetch+eval workers; start central interface; various. 2019-04-10 22:32:06 -07:00
Jason Volk
1209d47fa5 ircd:Ⓜ️:vm: Add additional vmopts related to fetching. 2019-04-10 22:32:06 -07:00
Jason Volk
a82410009e ircd:Ⓜ️:sync: Introduce phased polylogarithmic initial sync. 2019-04-08 02:46:49 -07:00
Jason Volk
a780609b76 ircd:Ⓜ️:sync: Add opts to sync::item. 2019-04-08 01:53:09 -07:00
Jason Volk
d08bd0b336 ircd:Ⓜ️:vm: Remove unused fault codes. 2019-04-07 20:57:43 -07:00
Jason Volk
6ae6624772 ircd:Ⓜ️ Add room object equality operator suite. 2019-04-07 14:50:27 -07:00
Jason Volk
19c58ca23e ircd:Ⓜ️:filter: Add convenience filter::get() taking a direct query string value. 2019-03-31 14:41:04 -07:00
Jason Volk
6644161140 ircd:Ⓜ️ Add state_filter w/ related m::name strings. 2019-03-31 14:03:21 -07:00
Jason Volk
9c2b215d60 ircd:Ⓜ️:room::aliases::cache: Add remote fetching; improve interface. 2019-03-30 19:02:11 -07:00
Jason Volk
8063904c06 ircd:Ⓜ️:room::aliases: Add preliminary aliases cache replacement interface. 2019-03-30 19:02:11 -07:00
Jason Volk
d17ac6a8bb ircd:Ⓜ️🆔 Add id part-swapping interface. 2019-03-30 18:15:07 -07:00
Jason Volk
276ba9941d modules/m_room_aliases: Move for_each impl to module. 2019-03-30 18:15:07 -07:00
Jason Volk
317fa612fb ircd:Ⓜ️:room: Add aliases interface. 2019-03-30 18:15:07 -07:00
Jason Volk
d47518a102 ircd:Ⓜ️:self: Add the servername string to this section; update README. 2019-03-28 13:08:40 -07:00
Jason Volk
0043cb2af7 modules/s_fetch: Add branch for auth chain fetch/eval on missing room state for event. 2019-03-27 14:09:40 -07:00
Jason Volk
1c5b7d2d71 ircd:Ⓜ️:room::auth: Add central interface for chain fetch/eval. 2019-03-27 13:44:33 -07:00
Jason Volk
939812f6bd modules/vm: Fix #ifdef RB_DEBUG coverage; minor adjust type. 2019-03-25 20:18:33 -07:00
Jason Volk
84d4ca485b ircd:Ⓜ️:room::state: Add preliminary purge_replaced() w/ console cmd. 2019-03-25 18:39:30 -07:00
Jason Volk
1ffa00adbf ircd:Ⓜ️:room: Add central interface linkage for room::purge(). 2019-03-25 18:04:16 -07:00
Jason Volk
008dfcb43f ircd:Ⓜ️:vm: Add counters and synchronization for safe module reloading. 2019-03-21 16:46:04 -07:00
Jason Volk
82378db816 modules/vm: Share transactions between all evals on the same stack; adjust sequence strategy. 2019-03-21 16:46:04 -07:00
Jason Volk
a7f6549c27 ircd:Ⓜ️:vm: Add tools for evals on a specific stack/ctx. 2019-03-21 14:11:42 -07:00
Jason Volk
507c256eb4 ircd:Ⓜ️:vm: Add loghead convenience. 2019-03-21 12:49:02 -07:00
Jason Volk
5b951b55c5 modules/vm: Add sequencing points.
ircd:Ⓜ️:vm: Reorganize sequence counters.
2019-03-19 16:31:05 -07:00
Jason Volk
aae00eab7f ircd:Ⓜ️:app: Add configuration access interface for appservice. 2019-03-15 16:19:05 -07:00
Jason Volk
ddb08a37a4 ircd:Ⓜ️:user: Add framework around m.ignored_user_list; w/ console cmd. 2019-03-14 17:27:45 -07:00
Jason Volk
380032d4a9 ircd:Ⓜ️:room: Augment m::invite() convenience interface for custom content. 2019-03-14 15:32:06 -07:00
Jason Volk
2070a72850 ircd:Ⓜ️:rooms: Add interface to remove entries from the !public room list. 2019-03-14 15:12:40 -07:00
Jason Volk
a995a14a3b ircd:Ⓜ️:user: Split user interfaces into headers. 2019-03-14 13:02:27 -07:00
Jason Volk
1f35e9c57e modules/m_event: Add option to toggle query for txnid; disable query for non-timeline appends. 2019-03-13 17:08:35 -07:00
Jason Volk
9f67a146f4 modules/m_event: Unconditionally supply an age when no event_idx. 2019-03-13 17:08:35 -07:00
Jason Volk
c4c95916c2 ircd:Ⓜ️ Add central event append() to compose elaborated json::stack::object for clients. 2019-03-11 16:02:36 -07:00
Jason Volk
f61059a400 ircd:Ⓜ️:room::state: Add prev() and next() reference traversal interface. 2019-03-11 15:06:54 -07:00
Jason Volk
3444bed245 ircd:Ⓜ️:dbs: Add a reverse reference for previous state in event refs index. 2019-03-11 14:46:11 -07:00
Jason Volk
06c548699a ircd:Ⓜ️:dbs: Add a previous state reference to refs meta index. 2019-03-11 13:40:25 -07:00
Jason Volk
a55c549e70 ircd:Ⓜ️:dbs: Add reference index type for m.room.redaction. 2019-03-10 14:52:11 -07:00
Jason Volk
1381524f95 ircd:Ⓜ️:device: Add has(user, device_id, property) overload to interface suite. 2019-03-09 18:48:32 -08:00
Jason Volk
47446dcd5c ircd:Ⓜ️:vm: Translate vm::fault codes to better specific http::code's for m::error's. 2019-03-09 14:00:00 -08:00
Jason Volk
197168059b ircd:Ⓜ️:vm: Create a conform hook; move checks into conform hookfns. 2019-03-09 14:00:00 -08:00
Jason Volk
e501c6434a modules/vm: Rename commit hook to issue hook; add opts toggle. 2019-03-09 12:13:21 -08:00
Jason Volk
79eed85397 modules/vm: Add a post-write pre-notify hook site. 2019-03-09 12:08:05 -08:00
Jason Volk
e2d2c7f376 ircd:Ⓜ️:v1::user: Default to dynamic content buffering; adjust callsite buffer sizes. 2019-03-08 17:11:42 -08:00
Jason Volk
3a673dadf4 ircd:Ⓜ️:room::state: Extend the for_each stack with optimal type,state_key closure. 2019-03-08 11:21:56 -08:00
Jason Volk
3b34785853 Revert "ircd:Ⓜ️:v1: Remove any opts constructors preventing aggregate initialization."
This reverts commit 506531790b.
2019-03-06 17:26:25 -08:00
Jason Volk
9f4890a517 ircd:Ⓜ️ Unify room create interface and paths around createroom tuple. 2019-03-06 15:02:43 -08:00
Jason Volk
85c041c27b ircd:Ⓜ️:room Update version query based on spec room version grammar (string type). 2019-03-06 15:02:43 -08:00
Jason Volk
c2966275c6 ircd:Ⓜ️:room::head: Improve interface/linkage for head utils / prev_events generation. 2019-03-06 00:22:18 -08:00