[SERVER-35679] General Interruption Facility Created: 19/Jun/18 Updated: 08/Jan/24 Resolved: 17/Sep/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.4 |
| Type: | New Feature | Priority: | Major - P3 |
| Reporter: | Mira Carey | Assignee: | Mira Carey |
| 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: | Platforms 2018-07-16, Platforms 2018-07-30, Platforms 2018-08-13, Platforms 2018-09-24 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 27 | ||||||||||||||||
| Description |
|
Add support for a generalized interruptibility facility in the server. This offers a generalized interruptibility facility, trialed inFuture<T> and ProducerConsumerQueue<T>. It offers 3 major concepts: Notifyable: A type which can notified off-thread, causing a wake up from some kind of blocking wait Waitable: A type which is Notifyable, and also can perform work while in a ready-to-receive notification state. static methods offer support for running underneath condition_variable::wait's. The chief implementer is the transport layer baton type Interruptible: A type which can wait on condition variables, and offers:
Additionally, Interruptible's offer special scoped guards which offer
The series of virtual types allows us to slice the interface between opCtx and future such that opctx can use future and future can use opctx. Additionally, cutting out more functionality allows us to flow a noop interruptibility type which unifies our waiting behind a common api. |
| Comments |
| Comment by Githook User [ 18/Sep/18 ] |
|
Author: {'name': 'Jason Carey', 'email': 'jcarey@argv.me', 'username': 'hanumantmk'}Message: in operation_context_test |
| Comment by Githook User [ 17/Sep/18 ] |
|
Author: {'name': 'Jason Carey', 'email': 'jcarey@argv.me', 'username': 'hanumantmk'}Message: Add support for a generalized interruptibility facility in the server. This offers a generalized interruptibility facility, trialed in It offers 3 major concepts: Notifyable: A type which can notified off-thread, causing a wake up Waitable: A type which is Notifyable, and also can perform work while in Interruptible: A type which can wait on condition variables, and offers:
Additionally, Interruptible's offer special scoped guards which
The series of virtual types allows us to slice the interface between |