-
Notifications
You must be signed in to change notification settings - Fork 38
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
Differentiate single and broadcast message on type-system level #166
Merged
Merged
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
a38a4e2
Split `try_send` internally
thomaseizinger 8cc534e
Inline `Sender::try_send`
thomaseizinger 261320c
Make `WaitingSender` generic over message
thomaseizinger 58ab1db
Remove `MessageType` enum
thomaseizinger 7291b0a
Keep `WaitingSender`s per message type separate
thomaseizinger 113eadf
Qualify `FulFillHandle`
thomaseizinger 6571d09
Move `WaitingSender` to its own module
thomaseizinger da48e27
Introduce `waiting_sender::FulFillHandle` equivalent to `waiting_rece…
thomaseizinger 215fe86
Call `set_closed` on `Drop` of `waiting_sender::FulFillHandle`
thomaseizinger 84f4c14
Inline `set_closed` function
thomaseizinger 45bf722
Have `fulfill` consume the `FulFillHandle`
thomaseizinger 1bb10ff
Introduce helper functions for `try_fullfil` functions
thomaseizinger 47a9792
Clear inactive handles as part of finding the next one
thomaseizinger 8189334
Use `if let` where possible
thomaseizinger 474cd46
Introduce `TrySend` trait to remove duplicate `Future` impl on `Sending`
thomaseizinger 33e5f26
Remove `SentMessage` and add `TrySend`
thomaseizinger 1ea2faa
Inline `SpinLock` type
thomaseizinger 580aa67
Introduce type aliases
thomaseizinger 2cf1a98
Remove panic and add docs to `FulfillHandle`
thomaseizinger 0d9524d
Rename `FulfillHandle`s to `Handle`
thomaseizinger 5da6890
Change `fulfill` to `take_message` wording for `waiting_sender`
thomaseizinger c2966db
Fix docs
thomaseizinger 6ea982b
Merge branch 'master' into split-try-send-2
thomaseizinger 95ffe8a
Remove empty line
thomaseizinger 320c210
Remove unnecessary `Unpin` bound
thomaseizinger e9eb9d3
Remove `TrySend` trait
thomaseizinger 7a9810b
Merge branch 'master' into split-try-send-2
thomaseizinger 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 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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Related to: how I mentioned using BinaryHeap for priority messages, this could be removed & replaced with an O(log n) binary heap remove call, at some stage