Skip to content

[hyperactor] replace channel completion oneshots with receipts#4260

Open
mariusae wants to merge 1 commit into
gh/mariusae/688/basefrom
gh/mariusae/688/head
Open

[hyperactor] replace channel completion oneshots with receipts#4260
mariusae wants to merge 1 commit into
gh/mariusae/688/basefrom
gh/mariusae/688/head

Conversation

@mariusae

@mariusae mariusae commented Jun 16, 2026

Copy link
Copy Markdown
Member

Stack from ghstack (oldest at bottom):

Replace the legacy oneshot::Sender<SendError<M>> completion adapter with CompletionSink::receipt(), backed by a small CompletionSender / CompletionReceipt pair whose accepted path stores a zero-payload state and wakes a single waiter while the rare rejected path stores the returned SendError<M>. Convert Tx::try_post() to return the receipt directly, simplify send() to await it, and update channel tests to assert Ok(()) for accepted completions and Err(SendError) for rejected completions.

Differential Revision: D108622924

NOTE FOR REVIEWERS: This PR has internal Meta-specific changes or comments, please review them on Phabricator!

[ghstack-poisoned]
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jun 16, 2026
mariusae added a commit that referenced this pull request Jun 16, 2026
Pull Request resolved: #4260

Replace the legacy `oneshot::Sender<SendError<M>>` completion adapter with `CompletionSink::receipt()`, backed by a small `CompletionSender` / `CompletionReceipt` pair whose accepted path stores a zero-payload state and wakes a single waiter while the rare rejected path stores the returned `SendError<M>`. Convert `Tx::try_post()` to return the receipt directly, simplify `send()` to await it, and update channel tests to assert `Ok(())` for accepted completions and `Err(SendError)` for rejected completions.
ghstack-source-id: 393929686
@exported-using-ghexport

Differential Revision: [D108622924](https://our.internmc.facebook.com/intern/diff/D108622924/)

**NOTE FOR REVIEWERS**: This PR has internal Meta-specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D108622924/)!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant