-
Notifications
You must be signed in to change notification settings - Fork 0
Refactor unwrap and expect propagation; pluggable server plumbing #400
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 227 commits
Commits
Show all changes
228 commits
Select commit
Hold shift + click to select a range
4213c0b
Refactor connection frame handling
leynos 2bc9e4a
Simplify frame handling helpers
leynos 9cb2875
Refactor connection construction
leynos 0e566a2
Refine push handle flow
leynos 66db130
Reduce reassembler arguments
leynos 9ba5fd2
Streamline server preamble handling
leynos 5460379
Bundle accept loop options
leynos 761e6b2
Enhanced code metric requirements
leynos 4f45d35
Fix remaining clippy warnings
leynos 4d31e7c
Lint documentation
leynos fbc9b43
Fix envelope rustdoc links
leynos 4ce7d7c
Fix push builder rustdoc link
leynos 2127fea
Tidy reassembler rustdoc links
leynos c48c2ef
Introduce hygeine lints
leynos d96202b
Expect private_bounds with reason
leynos 8eab565
Refactor forward_response complexity
leynos 0d00c52
Update markdownlint rules and ignore settings
leynos 221db91
Apply documentation and writing style corrections to AGENTS.md
leynos ddcd9ae
Revise and expand Rust code and testing conventions in AGENTS.md
leynos fa0c048
Standardize and clarify command-line tooling sections in AGENTS.md
leynos b910279
Reformat wireframe_testing crate README for improved Markdown flow
leynos 72afb86
Update logging to use inline variable interpolation and improve error…
leynos 7fb7759
Refactor fragmenter test to use helper function for checking fragments
leynos b7f344f
Require Sync on Preamble trait to improve concurrency guarantees
leynos 55b24af
Refactor preamble handling in connection processing and isolate handl…
leynos 680611d
Refactor accept loop for clarity and extract iteration logic
leynos b8c9499
Cleanup test utility preamble helpers with consistent lint expectations
leynos 2333517
Add and standardize lint expectations for single-line rstest fixtures
leynos 09ca8d8
Add crate-level lint expectations for test modules requiring them
leynos ec2938d
Remove redundant or now-unnecessary allow/expect attributes on simple…
leynos aa8f055
Standardize lint attributes for test utilities and unused helper code
leynos 2ede7d3
Apply consistent lint suppression to push_policies.rs test fixtures
leynos ca904f1
Deny debug/print macros; use tracing in examples
leynos c81d91b
Fix clippy findings in connection
leynos ca113ec
Remove expect from actor harness default
leynos 17ffced
Guard payload advance against over-slicing
leynos 11866b4
Make fragment slicing bounds-checked
leynos ca17d08
Harden fragment payload encoding/decoding
leynos d374f87
Bounds-check frame length conversions
leynos abfa6b4
Guard length prefix writes against over-slicing
leynos f63c3aa
Guard preamble reads with checked buffer slices
leynos a2a231e
Handle DLQ lock poisoning without expect
leynos b9871fb
Remove panics and allow select lint in queue recv
leynos 653629a
Bounds-check rewind stream leftovers
leynos 0006319
Allow select! lint in runtime paths
leynos 4f5b255
Replace select lint allow in connection
leynos 7b6b3f2
Use if-let for fragment chunk slicing
leynos ea90667
Handle fragment header length without casts
leynos 71644d6
Simplify prefix encoding in conversion helpers
leynos 539c59b
Collapse rate validation branching in push queues
leynos b42ae3d
Replace select allow lint in runtime
leynos 6edc5ae
Allow select lint via expect in push queues
leynos c6847e7
Enable lints for panic prone operations
leynos f260f8b
Use infallible test app factory
leynos c6efb3e
Propagate push fixture errors in session registry tests
leynos bdac18d
Guard middleware order test against missing frames
leynos d9523bf
Make echo example infallible and lint-clean
leynos dc35c59
Avoid panics in metadata serializer tests
leynos ee4063f
Propagate errors in metadata tests
leynos c255e6b
Harden metadata routing example
leynos f9207fe
Propagate errors in correlation id tests
leynos 7a3ecfe
Use first helper in session registry test
leynos 26881f2
Use io::Error::other in metadata routing
leynos 2a9cce1
Propagate errors in connection actor error tests
leynos 5d06fe7
Propagate errors in connection actor tests
leynos 73b6843
Propagate errors in push policy and fragmentation tests
leynos 1b57d9b
Guard response tests against indexing panics
leynos 62acf9b
Propagate errors in lifecycle tests
leynos e5ca0cd
Propagate errors in push policy tests
leynos 9628d16
Make packet enum example fallible
leynos 04a30eb
Propagate errors in multi-packet streaming tests
leynos 75e5d55
Return errors in metadata tests
leynos 37ae985
Propagate errors in stream end tests
leynos 0425261
Propagate errors in wireframe protocol tests
leynos e87e04a
Handle errors in ping pong example
leynos c46bfff
Handle multi-packet streaming without panics
leynos f5b379a
Handle queue fixture errors in shutdown tests
leynos de6f499
Avoid get-first in routes tests
leynos 2a8650c
Return errors instead of panics in push tests
leynos 4c4b978
test(fragmentation): refactor tests for improved error handling and r…
leynos f6bda30
refactor(tests): refactor preamble tests to use Result and handle err…
leynos 7dc0b6c
test(tests): improve test error reporting and code clarity
leynos e6e8b3f
test(tests): refactor test assertions for clearer error reporting
leynos 016320d
Propagate errors through cucumber worlds
leynos 0e1bedb
Handle shutdown in ping-pong example
leynos c83ee23
Return errors for empty multi-packet streams
leynos 81a7973
Return errors in correlation id tests
leynos 5df7459
Handle preamble validation errors
leynos 1a0bacc
Guard rate limiter priority ordering
leynos f20eb8e
Make fragmentation tests fallible
leynos 2389c8c
Avoid panics in correlation steps
leynos d53e7c4
Make fragment reassembly helpers fallible
leynos f2234e6
Propagate errors in fragment world
leynos fb2234d
Return errors from fragment cucumber steps
leynos 2da63b6
Log echo app build failures
leynos 179821f
Propagate errors in shutdown tests
leynos edc654f
Tighten push policy warning assertions
leynos b0ef40d
Simplify multi-packet world errors
leynos fb72b3c
Make panic world setup fallible
leynos 02e4cb7
Propagate errors in panic steps
leynos a10116b
Document errors in correlation world
leynos aa6e8d1
Document errors in fragment reassembly helpers
leynos 04b9261
Document fragment world fallible helpers
leynos f413bb8
Document stream end world errors
leynos 44de394
Alias wireframe protocol queue result
leynos 15ac5e1
Return errors in fairness tests
leynos b9f691f
Propagate errors in connection tests
leynos acbe7ed
Avoid indexing in accept loop test
leynos b74a00c
Use safe access in fragment tests
leynos 06e48ea
Handle short slices in frame tests
leynos fa1ab5b
Adjust panic tests in connection handler
leynos 6889f4f
Handle shutdown in ping-pong example
leynos 325ef20
Refactor accept loop backoff helpers
leynos a0bee07
Add granular assertions for connection snapshots
leynos 9beecff
Borrow backoff call log
leynos 30c3439
Propagate snapshot failures
leynos 2a607ef
Clarify refactoring guidance wording
leynos 8bd2600
Simplify accept loop flow
leynos ed497dd
Avoid cloning fragmenter per frame
leynos 70b59b4
Propagate response write failures
leynos cd85881
Cover fragment payload truncation cases
leynos 7c51532
Guard fragmenter bounds with test
leynos 28fdd48
Return errors for invalid rewind offsets
leynos cdfeae9
Test frame prefix error paths
leynos a626c79
Group accept iteration handles
leynos b23cf65
Simplify response fallible flow
leynos c52c635
Expose fragment cursor for testing
leynos 5fa6778
Trace connection drops in multi_packet example
leynos b9db0d6
Tidy extractor fixtures
leynos e474475
Fix extractor and lifecycle lint issues
leynos b104527
Factor fragment decode error helper
leynos 8491ed6
Clarify fragment slice bounds errors
leynos 7c1d70c
Renumber clippy lint sections
leynos e12fd45
Clarify unsupported size test messages
leynos 18549b7
Improve accept loop test helpers
leynos 2c37090
Propagate echo example errors and shutdown
leynos 56d880f
Centralise TestResult alias in common
leynos 49c3c71
Simplify rewind slice bounds check
leynos 7fdc4f8
Simplify ActorHarness default
leynos 7eeed4b
Documented harness default expectation
leynos 760ece0
Clarify frame conversion error expectations
leynos 7ac7fc6
Simplify fragment payload bounds check
leynos 5f98c70
Add graceful shutdown to packet_enum example
leynos 1b24d1a
Propagate preamble test server errors
leynos e33eefb
Use shared TestResult in wireframe_protocol tests
leynos 7abf631
Use shared TestResult in stream_end tests
leynos 1b9059e
Use shared TestResult in middleware_order tests
leynos b587375
Use shared TestResult in metadata tests
leynos a3758a2
Use shared TestResult in lifecycle tests
leynos 072c274
Use shared TestResult in correlation_id tests
leynos f8e4a7a
Use shared TestResult in connection_actor_errors tests
leynos 2236562
Use shared TestResult in connection_actor_fairness tests
leynos 0c3ead5
Use shared TestResult in connection_actor_shutdown tests
leynos 1c3ed05
Use shared TestResult in session_registry tests
leynos 78e0529
Use shared TestResult in connection tests
leynos 97a52e9
Use shared TestResult in push tests
leynos 18a6232
refactor(tests): consolidate TestResult type into common module
leynos 753aecf
test(fragment_transport): map errors to allow usage of ? in test func…
leynos 2453ece
Fix multi_packet test errors
leynos 546dbb2
Fix fragment_transport error conversions
leynos 0859485
Propagate teardown errors in lifecycle tests
leynos 10a844c
Refactor envelope decode failure handling
leynos 1e4a7ca
Clarify defensive checks in frame conversion
leynos 9e5b84b
Tidy session registry fixture and lint handling
leynos f77c30d
Guard test clock locks with expected lint
leynos f85e697
Tighten frame conversion and preamble handling
leynos 7accad1
Tidy rate limiting, preamble IO, and test helpers
leynos 02f88ce
Document preamble buffer slice safety
leynos 11e0632
Scope test util lint handling
leynos 9f64f41
Clarify connection actor fairness assertions
leynos 981e134
Propagate push queue config errors
leynos 2161944
Harden preamble slicing and tidy must_use
leynos 33f46f1
Address review assertions in metadata and routes
leynos b74fc9b
Apply review fixes across tests
leynos 0d8cfcf
Align fixtures and fragmentation helpers with review
leynos b56e145
Exercise unused_listener helper
leynos d8e99b2
Return errors instead of panics in push tests
leynos dea6bd1
Align multi_packet tests with shared TestResult
leynos 7771f52
Simplify timeout iteration purge
leynos 5268d93
Simplify single-frame decode in routes test
leynos 5f79efe
Handle push rate limiter assertions without panics
leynos 72e6946
Return explicit errors in multi_packet empty stream checks
leynos b0f9e34
Make lifecycle tests fail with Result errors instead of panics
leynos 011825e
Convert metadata tests to error returns for clearer diagnostics
leynos 543a93c
Handle single-frame route test without panic
leynos 34af971
Return errors in push rate limiter tests
leynos 82df560
Use assertions for multi_packet empty stream diagnostics
leynos 13d1d33
Assert callback counts in lifecycle tests
leynos 92bd34e
Restore assert-based diagnostics in fragment transport tests
leynos 4fe7f6e
Restore assertions in push rate limiter tests
leynos 6578774
Assert closed errors in push queue tests
leynos 0e9c7bb
Simplify route echo test frame assertions
leynos a5bffce
Reduce error mapping boilerplate in multi_packet tests
leynos be4a93c
Align test assertions and error naming per review
leynos bb22f71
Add timeouts and assertion cleanups
leynos e3195ad
Clean up middleware and session registry tests
leynos 61a2a2a
Improve wireframe protocol test assertions
leynos 1fb2645
Simplify correlation world verification logic
leynos 5514112
Fail fast when panic world app setup fails
leynos 09d2948
Align response context field visibility
leynos ec3e721
Consolidate rstest fixture lint suppressions
leynos a9f2af1
Improve connection fragmentation test assertions
leynos 380ecc8
Assert correlation ids directly in tests
leynos af43851
Apply additional lint-driven cleanups
leynos b59ecd6
Refactor u64_to_bytes helpers
leynos 9eb138f
Tighten push timeouts and routes assertions
leynos 5f45379
Improve lifecycle helper assertions
leynos caba392
Guard fragment transport responses with timeouts
leynos 45159e6
Use assertions in metadata tests
leynos 6878e66
Propagate route setup errors and tighten streaming assertions
leynos 9ed253d
Tighten middleware, routes, and response tests
leynos a11a725
Address review nits in payload decoding and correlation tests
leynos 461415a
Refactor fragment transport round-trip tests
leynos 211811a
Propagate response test errors and simplify multi-packet overflow
leynos b5c456b
refactor(frame): simplify write_bytes_with_endianness and improve tes…
leynos 6016334
Clarify oversized prefix test
leynos 4118deb
Improve missing frame error message
leynos f6af9ae
Guard length conversion prefixes
leynos 2b2f3fb
Require single terminator frame in correlation test
leynos d9d2e28
Improve send_response error context in test
leynos 9f9a346
Tighten routing tests and prefix handling
leynos f6e63b2
Apply review fixes across fragmentation and routing
leynos 1fc761a
Polish decode handling and tracing init
leynos 803c29f
Simplify decode envelope error handling
leynos 14a2176
Refine routing test params and server addr handling
leynos e15c9db
Handle ctrl_c errors in packet_enum
leynos f840d41
Propagate connection errors to callers
leynos 6bde480
Log ctrl_c errors and tidy connection docs
leynos File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,12 +1,14 @@ | ||
| { | ||
| // Ignore MD013 (line length) inside tables since reflowing | ||
| // Markdown tables often breaks formatting and readability. | ||
| "config": { | ||
| "MD004": { "style": "dash" }, | ||
| "MD010": { "code_blocks": false }, | ||
| "MD013": { | ||
| "line_length": 80, | ||
| "code_block_line_length": 120, | ||
| "tables": false | ||
| "tables": false, | ||
| "headings": false | ||
| }, | ||
| "MD040": false | ||
| } | ||
| "MD029": { "style": "ordered" } | ||
| }, | ||
| "ignores": ["**/.venv/**", ".node_modules/**", "**/node_modules/**", "**/target/**"] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # Align with CodeScene’s ceiling | ||
| cognitive-complexity-threshold = 9 # default is 25 | ||
| too-many-arguments-threshold = 4 # default is 7 | ||
| too-many-lines-threshold = 70 # default is 100 | ||
| excessive-nesting-threshold = 4 # default is off | ||
|
|
||
| allow-expect-in-tests = true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.