0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-28 21:38:39 +02:00
Commit graph

164 commits

Author SHA1 Message Date
Jason Volk 7dc5d30405 ircd:Ⓜ️:sync: Move data ctor to module. 2019-07-08 06:03:20 -07:00
Jason Volk 11dd47a8aa ircd:Ⓜ️:sync: Add pointer to struct args in struct data. 2019-07-08 06:03:20 -07:00
Jason Volk 6fb6f096de modules/client/sync: Pack the upper-bound into the phased polylog since token. 2019-07-06 22:25:16 -07:00
Jason Volk 5c8425d047 modules/client/sync: Add comments to main frame. 2019-07-06 22:25:16 -07:00
Jason Volk 18f07b6378 ircd:Ⓜ️:sync: Move definitions to module.
ircd:Ⓜ️:sync: Give sync::data an instance_list.
2019-07-06 22:25:12 -07:00
Jason Volk 767e18791c modules/client/sync: Fix queue pop. 2019-07-06 05:50:13 -07:00
Jason Volk 5cf7eb9db4 modules/client/sync: Enable crazyloading by default. 2019-07-06 02:06:46 -07:00
Jason Volk 87e8b5eb1f modules/client/sync: Minor reorg; increase default timeout conf items. 2019-06-07 21:56:17 -07:00
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