69 Commits

Author SHA1 Message Date
Jonathan de Jong
eeba51d4d6
state-res: Resolve FIXME comment 2022-02-02 14:27:59 +01:00
Jonathan de Jong
8348b97091
Improve Synapse compatibility w.r.t. power levels 2022-02-01 15:26:30 +01:00
Jonas Platte
7cf3abbaf0
state-res: Remove unnecessary cloning 2021-12-22 17:46:05 +01:00
Jonas Platte
6abfe3ff70
state-res: Remove unnecessary allow attribute 2021-12-22 17:45:50 +01:00
Jonas Platte
7e3b727d04
Fix / silence clippy lints 2021-12-09 15:50:42 +01:00
Jonas Platte
96374a7517
state-res: Rename RoomVersion::VERSION{num} to RoomVersion::V{num} 2021-12-04 18:59:39 +01:00
Jonas Platte
16f031fabb
state-res: Make the API generic over the event ID storage 2021-11-27 23:18:34 +01:00
Jonas Platte
a9c12f0909
state-res: Remove EventMap type alias 2021-11-27 22:44:34 +01:00
Jonas Platte
399bd7d82d
state-res: Rename generic parameter 2021-11-27 18:13:32 +01:00
Jonas Platte
9ed75241a6
state-res: Refactor lexicographical_topological_sort
Gets rid of unnecessary copying and makes things more explicit by using
a struct with named fields instead of a tuple for tie breaking.

Co-authored-by: Jonathan de Jong <jonathan@automatia.nl>
2021-11-26 20:22:57 +01:00
Jonas Platte
6b76d7813e
identifiers: Shorten RoomVersionId variant names 2021-11-26 01:07:26 +01:00
Jonas Platte
3ce578f384
identifiers: Make UserId a DST 2021-11-26 00:40:40 +01:00
Jonas Platte
2d4dbfe42f
identifiers: Make RoomId a DST 2021-11-26 00:04:28 +01:00
Jonas Platte
52608cc72c
identifiers: Make EventId a DST 2021-11-25 22:34:40 +01:00
Devin Ragotzy
44db63657f
state-res: Change most RoomVersion constructor functions to constants 2021-11-15 23:04:47 +01:00
Devin Ragotzy
bdce12b07e
state-res: Add some docs and fix a typo 2021-11-12 14:40:43 +01:00
Jonas Platte
aa5fdf9d22
Merge serde attributes and improve docs 2021-10-08 12:49:13 +02:00
Jonas Platte
04080085f9
events: Include all event type segments in Rust type names 2021-10-02 21:25:21 +02:00
Jonas Platte
de2b415020
state-res: Silence buggy clippy lint 2021-09-30 21:49:39 +02:00
Amanda Graven
3b5f3cb5a6
events: Move JoinRulesEventContent.allow into JoinRules 2021-09-28 13:39:58 +00:00
Jonas Platte
a9985d7763
events / state-res: Use RawJsonValue over JsonValue for event content 2021-09-15 20:58:42 +02:00
Jonas Platte
c94f9d5c88
state-res: Remove unnecessary .iter() call 2021-09-14 10:14:51 +02:00
Jonas Platte
a6a1224652
state-res: Make functions more general
Don't require different parameters to use the same impl Event.
2021-09-13 19:02:36 +02:00
Jonas Platte
0999e420ae
state-res: Return borrowed content in Event method 2021-09-13 19:02:36 +02:00
Jonas Platte
889406b6c2
state-res: Make resolve more general by using impl IntoIterator for state_sets 2021-09-13 19:02:36 +02:00
Jonas Platte
3830dcddc2
state-res: Simplify tests a bit 2021-09-13 19:02:36 +02:00
Jonas Platte
f566cd4486
state-res: Remove unneeded rebuilding of collection for logging 2021-09-13 19:02:36 +02:00
Jonas Platte
118aa8fc4a
state-res: Make usage of Arc optional 2021-09-13 19:02:36 +02:00
Jonas Platte
f0cd82dae7
state-res: Refactor test_utils 2021-09-13 19:02:36 +02:00
Jonas Platte
279322862c
state-res: Reduce public API to what Conduit uses 2021-09-13 19:02:36 +02:00
Jonas Platte
3c0493bddf
state-res: Move tests into the crate and make test_utils private 2021-09-13 19:02:36 +02:00
Jonas Platte
d60b7bf814
state-res: Filter out Nones from conflicted_state earlier 2021-09-13 19:02:35 +02:00
Jonas Platte
b31065827b
state-res: Allocate less when computing all_conflicted 2021-09-13 19:02:35 +02:00
Jonas Platte
6559681095
state-res: Rewrite get_auth_chain_diff algorithm 2021-09-13 19:02:35 +02:00
Jonas Platte
00a59d0528
state-res: Reduce unnecessary Arc usage 2021-09-13 19:02:35 +02:00
Jonas Platte
0ed0a620a3
state-res: Refactor iterative_auth_check 2021-09-13 19:02:35 +02:00
Jonas Platte
1e19de9579
state-res: Return borrows from Event::{prev_events, auth_events} 2021-09-13 19:02:35 +02:00
Jonas Platte
34a10b87c5
state-res: Return borrows from Event::{event_type, state_key} 2021-09-13 19:02:35 +02:00
Jonas Platte
660cd97962
state-res: Remove todo comment
EventId has the same ordering as str.
2021-09-13 19:02:35 +02:00
Jonas Platte
91e6a1c65c
state-res: Use HashSet::retain 2021-09-13 19:02:35 +02:00
Jonas Platte
324fb58a62
state-res: Simplify get_auth_chain_diff signature
It never returned Err(_), so the return type shouldn't be Result<_>.
2021-09-13 19:02:35 +02:00
Jonas Platte
290c61820b
state-res: Remove unused function parameters 2021-09-13 19:02:35 +02:00
Jonas Platte
0a93780e83
state-res: Move tests/utils.rs to src/test_utils.rs 2021-09-13 19:02:34 +02:00
Jonas Platte
76fa15f248
state-res: Rename Event::kind to event_type 2021-09-13 19:02:33 +02:00
Jonas Platte
4bea59caef
state-res: Remove StateResolution type
… making its associated functions free instead.
2021-09-13 19:02:33 +02:00
Jonas Platte
cc9336e444
state-res: Take ownership of events to sort in reverse_topological_power_sort
Avoids clones.
2021-09-13 19:02:33 +02:00
Jonas Platte
815fd19a33
state-res: Remove pointless shifting around of Vec elements 2021-08-31 20:40:36 +02:00
Jonas Platte
9c5b2e3d8c
state-res: Only depend on maplit for tests / benches 2021-08-31 19:19:17 +02:00
Jonas Platte
a3707b1a3a
state-res: Remove pointless .unwrap() 2021-08-31 19:02:03 +02:00
Devin Ragotzy
886c33eac3
state-res: Use fetch state closure instead of auth_chain 2021-08-26 12:29:33 +02:00