Skip to content

Allow suspending endpoints#42

Merged
mahkoh merged 4 commits intomasterfrom
jorth/suspend
Feb 28, 2026
Merged

Allow suspending endpoints#42
mahkoh merged 4 commits intomasterfrom
jorth/suspend

Conversation

@mahkoh
Copy link
Owner

@mahkoh mahkoh commented Feb 28, 2026

No description provided.

Copilot AI review requested due to automatic review settings February 28, 2026 19:24
@mahkoh mahkoh changed the title Jorth/suspend Allow suspending endpoints Feb 28, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a suspend/unsuspend mechanism to pause dispatching messages per endpoint (client-side and server-side) and updates the test framework + tests to exercise and validate the new behavior.

Changes:

  • Add per-endpoint suspension state and public APIs (Client::set_suspended, State::set_suspended) to pause message dispatching.
  • Add an eventfd-based wake mechanism wired into the poll loop (plus an edge-triggered epoll registration helper).
  • Refactor TestProxy to group client-related handles under tp.client.* and update all affected tests; add new suspend-focused tests.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
wl-proxy/src/state.rs Implements suspension queueing/wakeup and integrates it into dispatch flow.
wl-proxy/src/state/builder.rs Adds static pollable IDs and initializes/registers the unsuspend eventfd.
wl-proxy/src/endpoint.rs Adds suspension flags and stops message dispatch when suspended.
wl-proxy/src/client.rs Exposes Client::set_suspended API for client endpoint suspension.
wl-proxy/src/poll.rs Adds edge-triggered registration helper (register_edge_triggered).
wl-proxy/src/poll/tests.rs Adds test coverage for edge-triggered registration behavior.
wl-proxy/src/test_framework/proxy.rs Refactors test proxy API (nested TestProxyClient) and adds create_client.
wl-proxy/src/state/tests.rs Updates existing tests for new proxy API and adds suspend behavior tests.
wl-proxy/src/*/tests.rs (trans/object/endpoint/global_mapper/client) Mechanical updates to use tp.client.* fields.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mahkoh mahkoh merged commit 9446fc9 into master Feb 28, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants