[SERVER-49702] Add way to explicitly copy a SharedSemiFuture, forking the continuation chain Created: 17/Jul/20 Updated: 29/Oct/23 Resolved: 27/Jul/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | 4.7.0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | Spencer Brody (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Sprint: | Service Arch 2020-07-27, Service Arch 2020-08-10 | ||||||||
| Participants: | |||||||||
| Description |
|
SharedPromise/SharedSemiFuture allow introducing a "tee" into a future resolution chain, allowing the completion of 1 promise to result in multiple futures resolving (this of course requires that the value being provided to the futures be copyable). In order to get multiple SharedSemiFutures linked to one SharedPromise, however, you either need to generate the SharedSemiFutures off the original SharedPromise directly, or call thenRunOn() with an executor for follow-up work. We should add a convenience method to take a given SharedSemiFuture and produce a new SharedSemiFuture that resolves at the same time as the original, without invalidating the original. |
| Comments |
| Comment by Githook User [ 27/Jul/20 ] |
|
Author: {'name': 'Spencer T Brody', 'email': 'spencer@mongodb.com', 'username': 'stbrody'}Message: |