Open Bug 1533439 Opened 7 years ago Updated 3 years ago

Investigate using MozPromise to simplify async control flow and cancellation

Categories

(Core :: Networking: HTTP, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: grover, Unassigned)

Details

(Whiteboard: [necko-triaged])

Starting in nsHttpChannel::AsyncOpen, there are many time-consuming steps that are handled asynchronously. This may be a good use case for MozPromise, which could instead describe the control flow as a chain of promises. This could make control flow easier to follow at a high level, as well as making cancellation easier.

:bholley blogged about this shortly after the introduction of MozPromise in 2015 (https://bholley.net/blog/2015/mozpromise.html). MozPromise is currently used mostly in the media decoding subsystem, so we should be able to look at that code for usage examples, and maybe even ask those engineers for guidance if needed.

Assignee: nobody → agrover
Priority: -- → P3
Whiteboard: [necko-triaged]
Assignee: agrover → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.