-
Notifications
You must be signed in to change notification settings - Fork 417
Edge development #274
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
Edge development #274
Conversation
- untangle callback into methods for better readability - promise tree starting with delay can be now also triggered by calling wait or value on any of the children - better inspectability - track what blocks what - better to_s and inspect support
- Adds #chain_delay, #then_delay, #rescue_delay which are same as #chain, #then, #rescue but are not evaluated automatically but only when requested by #value. - Restructure class hierarchy. Only one Future with Multiple Promise implementations which are hidden to the user. Provides better encapsulation. - Delay is now implemented as a Promise descendant.
adding Scala's flatMap
supports all, any, flattening
* master: Fix yardoc ignore configuration
d230203
to
49fd172
Compare
@@ -1,11 +1,13 @@ | |||
source 'https://rubygems.org' | |||
|
|||
gemspec name: 'concurrent-ruby' | |||
gemspec name: 'concurrent-ruby-edge' |
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.
When I was created the extension gem I ran into some problem with this. I can't remember what it was. That's why the extension gem isn't listed here. We'll need to take a look at this after we merge. Whatever it was may no longer be an issue.
This is a very big merge so it's hard to digest it all. Having reviewed all the pull requests it aggregates it seems good to me. I know you are very diligent and thorough so I'm sure it's ready. I say merge it! I'll move |
* edge-experimental-incubator: (4 commits) Fix require paths ...
- only companion objects (future and its promise) can be locked at a same time - Add Concurent.event - #flat(level) - level is now supported
Thanks for the trust. I need to make few more actualizations and then I'll merge it. |
* master: Rename hook to handler in AtExit
- :io is now default executor - Concurrent.future without block returns CompletableFuture - Concurrent.event returns CompletableEvent
* master: (16 commits) Deprecated Concurrent::Atomic in lieu of Concurrent::AtomicReference. ...
e7daabf
to
b0ae8fc
Compare
Leaving: 'Promise unification documentation', and 'merge actor updates #180' for another PR and merging. |
Combines #273 #272 #268 together, please feel free to comment there. I'll be pulling any updates made there to this PR.