Jason Volk
1e7207c230
start an ArrayVec extension trait
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:11:50 +00:00
Jason Volk
0426f92ac0
unify database record separator constants
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:11:50 +00:00
Jason Volk
6808671751
merge search service w/ data
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:11:50 +00:00
Jason Volk
b7369074d4
add RoomEventFilter matcher for PduEvent
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:11:50 +00:00
Jason Volk
cf59f738b9
move macros incorrectly moved out of utils to top level
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:11:50 +00:00
Jason Volk
8742266ff0
split up core/pdu
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:11:50 +00:00
Jason Volk
ee92a33a4d
add some accessors to Ar for common patterns
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:11:50 +00:00
Jason Volk
60cc07134f
log error for auth_chain corruption immediately
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:09:05 +00:00
Jason Volk
e175b7d28d
slightly cleanup prev_event eval loop
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:09:05 +00:00
Jason Volk
0e616f1d12
add event macro log wrapper suite
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:09:05 +00:00
Jason Volk
9438dc89e6
merge and resplit/cleanup appservice service
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:09:05 +00:00
Jason Volk
efb28c1a99
add a Map::contains suite to db
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:09:05 +00:00
Jason Volk
49343281d4
additional bool extensions
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:09:05 +00:00
Jason Volk
aa768b5dec
distill active and old keys for federation key/server response
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
c769fcc347
move core result into core utils
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
5cb0a5f676
add config generator controls via attribute metadatas
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
367d153380
add default-directives to config document comments
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
3396542168
complete the example-config generator macro
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
b08c1241a8
add some interruption points in recursive event handling to prevent shutdown hangs
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
dd6621a720
reduce unnecessary clone in pdu handler
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
b8260e0104
optimize for pdu_exists; remove a yield thing
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
ca57dc7928
optimize config denylists
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
d35376a90c
aggregate receipts into single edu; dedup presence; refactor selection limits etc
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
a74461fc9a
split keys_changed for stronger-type overloads
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
0e0438e1f9
further optimize presence_since iteration
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
c06f560913
add some additional database::de test cases
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
167807e0a6
de-wrapper max_fetch_prev_event; increase default config
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
0e55fa2de2
add ready_try_for_each to TryReadyExt extension utils
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
b505f0d0d7
add (back) query_trusted_key_servers_first w/ additional configuration detail
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
ac75ebee8a
event_handler/timeline service cleanups
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
93130fbb85
add is_ok to futures TryExtExt utils
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
1fdcab0319
additional sync cleanup
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
828cb96ba9
split client/sync
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
55b8908894
merge rooms state_compressor service and data
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
84191656fb
slightly cleanup appservice_in_room
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
0b085ea84f
merge remaining rooms state_cache data and service
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
4576313a7c
merge rooms user service and data
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
ed5b5d7877
merge rooms state service and data
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
d0ee4b6d25
add resolve_with_servers() to alias service; simplify api
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
b4ec1e9d3c
add federation client for select high-timeout requests
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
c0939c3e9a
Refactor server_keys service/interface and related callsites
...
Signed-off-by: Jason Volk <jason@zemos.net >
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-10-26 18:50:29 -04:00
Jason Volk
d82ea331cf
add random shuffle util
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
1a09eb0f02
use string::EMPTY; minor formatting and misc cleanups
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
89b5c4ee1c
add timepoint_from_now to complement timepoint_ago in utils
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
2ed0c267eb
Refactor for structured insertions
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
8258d16a94
re-scheme naming of stream iterator overloads
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
19880ce12b
add IgnoreAll directive to deserializer
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
d3d11356ee
add serialized insert interface
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
2f24d7117a
further develop serializer for insertions
...
add JSON delegator to db serializer
consolidate writes through memfun; simplifications
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
fc4d109f35
add document comments to config items
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
f67cfcd535
cleanup Config::load()
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
2a59a56eaa
initial example-config generator
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
c40d20cb95
add macro util to determine if cargo build or check/clippy.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
43b0bb6a5e
add non-allocating fixed-size random string generator
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
a5e85727b5
add tuple access functor-macro
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
16f82b02a0
add util to restore state on scope exit
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
c9c405facf
relax Sized bound for debug::type_name
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
8ea2dccc9a
sort rustfmt
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
e482c0646f
Add constructions and Default for PduBuilder
...
simplify various RoomMemberEventContent constructions
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
f503ed918c
misc cleanup
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
57e0a5f65d
additional database stream deserializations for serde_json::from_ elim
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
d526db681f
refactor various patterns for serde_json::from_ elim
...
bump ruma
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
55c85f6851
refactor to pdu.get_content() for serde_json::from_ elim
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
f7af6966b7
refactor to room_state_get_content() for serde_json::from_ elim
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
68315ac112
Add state_get_content(shortid) for serde_json::from elim
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
da34b43302
abstract account-data deserializations for serde_json::from_elim
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
48a767d52c
abstract common patterns as core pdu memberfns
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
2b2055fe8a
parallelize calculate_invite_state
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
685eadb171
add is_not_found as Error member function; tweak interface; add doc comments
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
dd9f53080a
add unwrap_or to TryFutureExtExt
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
4485f36e34
add mactors for true/false
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
a2e5c3d5d3
add FlatOk trait to Result/Option suite
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
08a2fecc0e
catch panics at base functions to integrate with other fatal errors.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
89a3c80700
split admin-room branch from build_and_append_pdu (fixes large stack warning)
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
56dd0f5139
use loop condition to account for loole channel close
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
814b9e28b6
fix unnecessary re-serializations
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
ba683cf534
fix aliasid_alias key deserialization
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:38:45 -04:00
Jason Volk
bd9a9cc5f8
fix trait-solver issue requiring recursion_limit increase
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:38:45 -04:00
Jason Volk
2d049dacc3
fix get_all_media_keys deserialization
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:38:45 -04:00
Jason Volk
c6b7c24e99
consume all bytes for top-level Ignore; add comments/tweaks
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:38:45 -04:00
Jason Volk
36677bb982
optimize auth_chain short_id to event_id translation step
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
ab06701ed0
refactor multi-get to handle result type
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
26dcab272d
various cleanup tweaks/fixes
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
96fcf7f94d
add rocksdb secondary; fix read_only mode.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
6b80361c31
additional stream tools
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
a8d5cf9651
Add rocksdb logging integration with tracing.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
c569881b08
merge rooms/short Data w/ Service; optimize queries
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:28 -04:00
Jason Volk
0e8ae1e13e
add ArrayVec-backed serialized query overload; doc comments
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:32:33 -04:00
Jason Volk
5192927a53
split remaining map suites
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:32:33 -04:00
Jason Volk
3f7ec4221d
minor auth_chain optimizations/cleanup
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:32:33 -04:00
Jason Volk
4776fe66c4
handle serde_json for deserialized()
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:32:33 -04:00
Jason Volk
946ca364e0
Database Refactor
...
combine service/users data w/ mod unit
split sliding sync related out of service/users
instrument database entry points
remove increment crap from database interface
de-wrap all database get() calls
de-wrap all database insert() calls
de-wrap all database remove() calls
refactor database interface for async streaming
add query key serializer for database
implement Debug for result handle
add query deserializer for database
add deserialization trait for option handle
start a stream utils suite
de-wrap/asyncify/type-query count_one_time_keys()
de-wrap/asyncify users count
add admin query users command suite
de-wrap/asyncify users exists
de-wrap/partially asyncify user filter related
asyncify/de-wrap users device/keys related
asyncify/de-wrap user auth/misc related
asyncify/de-wrap users blurhash
asyncify/de-wrap account_data get; merge Data into Service
partial asyncify/de-wrap uiaa; merge Data into Service
partially asyncify/de-wrap transaction_ids get; merge Data into Service
partially asyncify/de-wrap key_backups; merge Data into Service
asyncify/de-wrap pusher service getters; merge Data into Service
asyncify/de-wrap rooms alias getters/some iterators
asyncify/de-wrap rooms directory getters/iterator
partially asyncify/de-wrap rooms lazy-loading
partially asyncify/de-wrap rooms metadata
asyncify/dewrap rooms outlier
asyncify/dewrap rooms pdu_metadata
dewrap/partially asyncify rooms read receipt
de-wrap rooms search service
de-wrap/partially asyncify rooms user service
partial de-wrap rooms state_compressor
de-wrap rooms state_cache
de-wrap room state et al
de-wrap rooms timeline service
additional users device/keys related
de-wrap/asyncify sender
asyncify services
refactor database to TryFuture/TryStream
refactor services for TryFuture/TryStream
asyncify api handlers
additional asyncification for admin module
abstract stream related; support reverse streams
additional stream conversions
asyncify state-res related
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:32:30 -04:00
Jason Volk
6001014078
add UnwrapInfallible to Result
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
a5de27442a
re-export crates used by error macros
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
f7ce4db0b0
add is_not_found functor to error; tweak status code matcher
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
a5822ebc27
add missing err! case
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
63053640f1
add util functors for is_zero/is_equal; move clamp to math utils
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
bd75ff65c9
move common_elements util into unit
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
aa265f7ca4
add err log trait to Result
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
3d4b0f10a5
add expected! macro to checked math expression suite
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00