gecko-dev/tools/profiler/gecko
Nika Layzell a7666fd8fe Bug 1418048 - Add a callback-based Send API to async returning IPDL methods, r=billm
Currently if you write an async IPDL method which has a return value, we expose
a SendXXX method which returns a MozPromise. This MozPromise can then be
->Then-ed to run code when it is resolved or rejected.

Unfortunately, using this API loses ordering guarantees which IPDL provides.
MozPromise::Then takes an event target, which the resolve runnable is dispatched
to. This means that the resolve callback's code doesn't have any ordering
guarantees relative to the processing of other IPC messages coming over the same
protocol.

This adds a new overload to SendXXX with two additional arguments, a lambda
callback which is called if the call succeeds, and a lambda callback which is
called if the call fails. These will be called in order with other IPC messages
sent over the same protocol.

MozReview-Commit-ID: FZHJJaSDoZy
2017-11-20 17:55:32 -05:00
..
ChildProfilerController.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
PProfiler.ipdl Bug 1382910 - Update the profiler state in the child process once PProfiler is connected. r=njn 2017-07-24 16:33:50 -04:00
ProfilerChild.cpp Backed out changeset 3ad8f1ba9de6 (bug 1384688) 2017-07-31 20:09:52 +02:00
ProfilerIOInterposeObserver.cpp Bug 1407458 - Use nsString for Observation filenames. r=erahm. 2017-10-17 08:22:12 +11:00
ProfilerIOInterposeObserver.h Bug 1375299 (part 1) - Reduce usage of MOZ_GECKO_PROFILER. r=mstange. 2017-06-22 06:26:16 +10:00
ProfilerParent.cpp Bug 1382910 - Propagate the current profiler state to a newly-launched child process using environment variables. r=njn 2017-07-24 18:16:33 -04:00
ProfilerTypes.ipdlh Bug 1360471 (part 4) - Use a bitfield to represent profiler features. r=mstange. 2017-05-01 14:23:34 +10:00
ThreadResponsiveness.cpp Bug 1404198: Part 2j - Switch to NS_NewTimer* everywhere else. r=njn 2017-09-24 19:57:48 -07:00
ThreadResponsiveness.h Bug 1382928 - Use atomics for thread-shared pieces of state in ThreadResponsiveness.cpp. r=njn 2017-08-01 15:32:18 -04:00
nsIProfiler.idl Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj 2017-08-16 16:48:52 -07:00
nsProfiler.cpp Bug 1418048 - Add a callback-based Send API to async returning IPDL methods, r=billm 2017-11-20 17:55:32 -05:00
nsProfiler.h Bug 1384693 - Cull exit profiles that don't have any overlap with the parent process profile. r=njn 2017-07-25 20:29:17 -04:00
nsProfilerCIID.h
nsProfilerFactory.cpp
nsProfilerStartParams.cpp Bug 1360471 (part 4) - Use a bitfield to represent profiler features. r=mstange. 2017-05-01 14:23:34 +10:00
nsProfilerStartParams.h Bug 1330184 - Use threadsafe refcounting for nsProfilerStartParams. r=njn 2017-05-31 00:35:15 -04:00