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

156 commits

Author SHA1 Message Date
Jason Volk
454051f9f3 modules/client/sync: Condition for client / socket in longpoll::poll loop. 2019-04-19 18:21:17 -07:00
Jason Volk
e9a6f2ec92 modules/client/sync: Disable phased sync by default for now until stable. 2019-04-08 06:54:54 -07:00
Jason Volk
a82410009e ircd:Ⓜ️:sync: Introduce phased polylogarithmic initial sync. 2019-04-08 02:46:49 -07:00
Jason Volk
0f2dcf1706 modules/client/sync: Rename conf item. 2019-04-08 00:03:17 -07:00
Jason Volk
a83e304382 modules/client/sync: Manually invalidate checkpoints on known polylog commitments. 2019-03-30 15:02:18 -07:00
Jason Volk
f7fa89b061 ircd::json::stack: Alter checkpoint rollback() behavior to proactive. 2019-03-30 14:13:34 -07:00
Jason Volk
0e6e556d50 modules/client/sync: Reuse scratch buffer on longpoll handles. 2019-03-27 23:50:43 -07:00
Jason Volk
5d06042140 modules/client/sync: Use the same linear vector merge in longpoll handler. 2019-03-27 20:28:59 -07:00
Jason Volk
394ec523a2 ircd:Ⓜ️:sync: Do a full iteration of all linear sync items even if success. 2019-03-27 20:13:04 -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
22fe24f54f modules/client/sync: Add linear buffer size conf item; add help texts to some confs. 2019-03-17 13:24:24 -07:00
Jason Volk
9ab3549660 modules/client/sync: Tweak log message format; cleanup longpoll::accepted struct. 2019-03-17 13:18:33 -07:00
Jason Volk
4e618175c7 modules/client/sync: Try to ensure all next_batch tokens are limited to the upper bound. 2019-03-16 18:12:38 -07:00
Jason Volk
7fc68e1933 modules/client/sync: When longpoll hits an unsequenced EDU, the next_batch must repeat the current since token. 2019-03-16 12:59:18 -07:00
Jason Volk
03abdd5ac6 modules/client/sync: Improve since token rejection message. 2019-03-16 12:26:03 -07:00
Jason Volk
f745787ce4 modules/client/sync: Check if the client is still alive during longpoll. 2019-03-12 18:41:05 -07:00
Jason Volk
58159d3ee6 modules/client/sync: Fix condition to skip linear for longpoll. 2019-03-08 17:47:29 -08:00
Jason Volk
8e2aef32ef modules/client/sync: Consistent display of next_batch values in debug log msgs. 2019-03-08 15:29:10 -08:00
Jason Volk
c0d0599b19 modules/client/sync: Tweak next_batch case; add debuglog on timeout branch. 2019-03-08 14:26:23 -08:00
Jason Volk
187eca0e4e modules/client/sync: Refactor linear sync handlers to assume no implicit path. 2019-03-08 14:19:04 -08:00
Jason Volk
5adfb3ba43 modules/client/sync: Add conf items which override the sync mode selection. 2019-03-07 11:53:58 -08:00
Jason Volk
157805d97b modules/client/sync: Simplify next_batch token decision after linear and longpoll. 2019-03-02 14:20:52 -08:00
Jason Volk
8fee82b0d6 modules/client/sync: Readd the transaction_id on longpoll; fix ghost events. 2019-02-28 18:28:45 -08:00
Jason Volk
9c20d49e33 ircd::resource::response::chunked: Eliminate move semantic. 2019-02-28 17:12:04 -08:00
Jason Volk
70173f5893 modules/client/sync: Use better flush() path. 2019-02-28 17:12:04 -08:00
Jason Volk
af6ac4a2ac ircd: Replace various unwind count patterns with scope_count. 2019-02-28 17:12:03 -08:00
Jason Volk
b8fa7455e9 modules/client/sync: Provide better next_batch after linear iteration. 2019-02-28 12:36:14 -08:00
Jason Volk
9a43a9524c modules/client/sync: Uniform log messages; longpoll error message; various fixes. 2019-02-27 18:49:38 -08:00
Jason Volk
c88d961ad4 modules/client/sync: Implement longpoll sync handler. 2019-02-27 16:27:04 -08:00
Jason Volk
902466450e modules/client/sync: Enable linear sync. 2019-02-27 16:25:37 -08:00
Jason Volk
f91f6226a6 modules/client/sync: Add event_idx to accept struct; move top object construction to handlers. 2019-02-27 16:25:37 -08:00
Jason Volk
a263b2ff40 modules/client/sync: Use resource::response buffer w/ passed size argument. 2019-02-26 18:04:37 -08:00
Jason Volk
cc586a352e modules/client/sync: Implement iteration base of linear sync. 2019-02-26 18:04:37 -08:00
Jason Volk
78a1281b1c ircd:Ⓜ️:sync: Make data.out a pointer to the json::stack. 2019-02-26 15:50:58 -08:00
Jason Volk
af5b0e69a1 modules/client/sync: Employ json::stack::checkpoint using boolean return values in all handlers. 2019-02-24 14:49:29 -08:00
Jason Volk
c9f8e44c78 ircd:Ⓜ️:sync: Add stats.info conf item; rename debug_stats item. 2019-02-22 15:40:53 -08:00
Jason Volk
8c5b1f283f modules/client/sync: Various range check fixes; simplify debug stats. 2019-01-26 17:26:05 -08:00
Jason Volk
fc162b41b3 modules/client/sync: Add a next_batch param to the query args passed to the range upper-bound. 2019-01-26 15:33:11 -08:00
Jason Volk
80b3cd678e modules/client/sync: Reorg / deinline sync args related. 2019-01-26 13:34:57 -08:00
Jason Volk
4c495e1f44 modules/client/sync: Various cleanup / simplify. 2019-01-10 16:58:37 -08:00
Jason Volk
2d860b25a8 ircd:Ⓜ️:sync: Checkpoint. 2019-01-09 20:39:12 -08:00
Jason Volk
443905859f ircd:Ⓜ️:sync: Additional abstraction; checkpoint polylog /sync modules. 2019-01-08 17:17:41 -08:00
Jason Volk
61e88e75bc modules/client/sync: Additional sync items reorganization. 2019-01-04 14:47:01 -08:00
Jason Volk
86911226ed ircd:Ⓜ️ Preliminary modular client sync system. 2019-01-03 17:21:02 -08:00
Jason Volk
3fd61ba361 modules/client/sync: Prefetching defaults to false for now. 2018-12-23 17:41:47 -08:00
Jason Volk
36c1b359ab modules/client/sync: Optimize the room state iteration strategy. 2018-12-19 15:05:07 -08:00
Jason Volk
f44f1cf89d modules/client/sync: Fix sync timeout behavior. 2018-12-01 17:23:42 -08:00
Jason Volk
0da335c03c modules/client/sync: Minor hackstops for now. 2018-11-15 18:39:51 -08:00
Jason Volk
c6e2dbe55b modules/client/sync: Use conf item for linear vs. polylog threshold. 2018-11-04 18:11:37 -08:00
Jason Volk
242516c853 ircd:Ⓜ️ Add central interface for room state prefetch; add console cmd; apply to client sync. 2018-10-23 10:01:36 -07:00
Jason Volk
5a9c264981 modules/client/sync: Promote polylog stats overview log message to infolog. 2018-10-21 00:24:26 -07:00
Jason Volk
8ed4dc9623 modules/client/sync: Add some stats and debug log to sync. 2018-10-18 07:46:53 -07:00
Jason Volk
18977fabe1 modules/client/sync: Condition on conf items for prefetches of polylog state/timeline. 2018-10-16 09:13:53 -07:00
Jason Volk
0843ff5f79 modules/client/sync: Checkpoint some structural changes. 2018-10-14 03:58:26 -07:00
Jason Volk
11818f6c3e modules/client/sync: Minor simplify. 2018-10-09 21:34:58 -07:00
Jason Volk
9aa6e2b768 ircd:Ⓜ️ Rename most vm.notify hooks to vm.effect; Refactor vm::accept related. 2018-10-09 20:56:12 -07:00
Jason Volk
d5c3724428 modules/client/sync: Fix index minmax for stable notification counting. 2018-09-27 00:59:17 -07:00
Jason Volk
8ce3325905 modules/client/sync: Catch and drop exception around account_data. 2018-09-22 16:01:10 -07:00
Jason Volk
17e137f52a modules/client/sync: Ensure indexes are a < b. 2018-09-15 19:32:16 -07:00
Jason Volk
a7dbc8e882 modules/client/sync: Add highlight count to sync; reintegrate notification count. 2018-09-14 07:34:05 -07:00
Jason Volk
2eb55ea3a4 modules/client/sync: Hack patch for longpoll/linear sync events routing to the proper rooms.membership structure. 2018-09-13 02:05:16 -07:00
Jason Volk
0695584d2c modules/client/sync: Support notification_count. 2018-09-12 22:32:00 -07:00
Jason Volk
f24d51c38d modules/client/sync: The structure sent from a longpoll has no need for a state, only timeline. 2018-09-06 23:08:20 -07:00
Jason Volk
85aef85f61 ircd:Ⓜ️:vm: Support client unsigned.transaction_id. 2018-09-05 20:16:01 -07:00
Jason Volk
3be110d6ca modules/client/sync: Add prefetching for some polylog sync iterations. 2018-09-01 07:15:03 -07:00
Jason Volk
96363a527d modules/client/sync: Simplify stack arguments; addl cleanup. 2018-09-01 07:15:02 -07:00
Jason Volk
4819112f54 modules/client/sync: Checkpoint preliminary sync reorg. 2018-09-01 00:51:40 -07:00
Jason Volk
8d5229d67d modules/client/sync: Add room account_data to polylog sync. 2018-06-19 21:52:08 -06:00
Jason Volk
88d3026cc7 ircd:Ⓜ️:vm: More granular notification broadcast options. 2018-05-27 19:56:04 -07:00
Jason Volk
7bfe9e94a1 ircd::db: Default to no checksums on all reads; add conf item; adjust opts. 2018-05-23 18:45:27 -07:00
Jason Volk
53ba8dafcc modules/client/sync: Add some default fopts. 2018-05-22 01:13:38 -07:00
Jason Volk
47e5e94ac1 modules/client/sync: Ignore errs for graceful degradation w/o killing entire polylog sync. 2018-05-19 18:49:06 -07:00
Jason Volk
631020d932 modules/client/sync: Force next_batch values to be quoted strings. 2018-05-19 18:49:06 -07:00
Jason Volk
163fc25790 modules/client/sync: Use real exception handler; fix polylog call; fix presence key; unlocker. 2018-05-19 18:49:04 -07:00
Jason Volk
f79000b18d modules/client/sync: Add flush high-watermark conf item. 2018-05-19 18:49:04 -07:00
Jason Volk
c14f268559 ircd:Ⓜ️ ADL the event::fetch::index() suite. 2018-05-09 16:38:11 -07:00
Jason Volk
7f4716c5e5 modules/client/sync: Use a real error log message on polylog sync backout. 2018-05-03 20:11:16 -07:00
Jason Volk
18e9c792be modules/client/sync: Handle timeout from acceptor dock. 2018-04-22 21:54:06 -07:00
Jason Volk
5f2e8056d9 modules/client/sync: Checkpoint synchronous longpoll / polylog / prelim linear. 2018-04-21 23:50:16 -07:00
Jason Volk
7f3919dd17 ircd:Ⓜ️ Split events iterations into namespace. 2018-04-18 01:25:54 -07:00
Jason Volk
00b46a8885 modules/client/sync: Checkpoint preliminary stateless incremental sync exhibit. 2018-04-16 17:57:41 -07:00
Jason Volk
19d7e05605 ircd::resource: Allow each resource method to specify its timing. 2018-04-15 18:02:41 -07:00
Jason Volk
acf8cf5ae6 modules/client/sync: Checkpoint scaffold non-initial sync w/ initial linkage. 2018-04-10 15:31:10 -07:00
Jason Volk
901a77266e ircd:Ⓜ️:vm: Massage edus through the core eval path; rename inserted to accept. 2018-03-07 13:28:15 -08:00
Jason Volk
27a539f941 modules/client: Cleanup some numbering and descriptions. 2018-02-15 13:40:07 -08:00
Jason Volk
173d19ee6a modules/client/sync: Give client more async() after /sync 408. 2018-02-13 18:36:30 -08:00
Jason Volk
b06412da76 modules/client/sync: Fix interpretation of the sync timeout query param. 2018-02-12 19:30:44 -08:00
Jason Volk
75dabda9c7 modules/client/sync: Checkpoint sync stubs. 2018-02-12 19:30:44 -08:00
Jason Volk
2be10ef206 ircd: Fix/Address client current request flow for longpolls. 2018-02-12 19:30:44 -08:00
Jason Volk
b86560c5f5 modules/client/sync: Reactivate sync with a trial using user's room. 2018-02-11 15:47:25 -08:00
Jason Volk
be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk
f931308850 ircd/modules: Update resource / opts construction arguments. 2017-12-12 14:59:40 -07:00
Jason Volk
528b7047e9 modules: Checkpoint matrix various. 2017-11-30 11:23:47 -08:00
Jason Volk
4793e4906c ircd:Ⓜ️ Checkpoint matrix top-half / modules. 2017-11-30 11:23:44 -08:00
Jason Volk
f10662fe7d ircd:Ⓜ️ Checkpoint matrix. 2017-11-30 11:23:40 -08:00
Jason Volk
a3f7a41650 ircd::json: Rename json::string to json::strung and maintain json::string as intuitive type. 2017-10-15 21:18:42 -07:00
Jason Volk
18bbf758f3 ircd/modules: Improve path param parsing related; various m:: related. 2017-10-11 20:54:03 -07:00
Jason Volk
b9f13ed2c2 ircd: Remove cruft. 2017-10-11 20:54:01 -07:00
Jason Volk
edcd95cd8f modules/ircd:Ⓜ️ Upgrade various json tuple templates with string literals. 2017-10-11 18:18:19 -07:00
Jason Volk
20869309a2 Checkpoint matrix with preliminary federation client and keyserver related. 2017-10-03 04:27:15 -07:00