Rework QuotaManagerService methods for getting usage to use async messages with async responses
Categories
(Core :: Storage: Quota Manager, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox131 | --- | fixed |
People
(Reporter: janv, Assigned: janv)
References
Details
Attachments
(22 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
The main goal is the ability to get usages asynchronously without using IPC, so it can be easily used in gtests.
This bug also covers some related refactorings, code modernization and cleanup.
Assignee | ||
Comment 1•9 months ago
|
||
Multiple helper classes will need to call this method.
Assignee | ||
Comment 2•9 months ago
|
||
This is one of the things which are needed for making GetUsageOp and
GetOriginUsageOp independent from the actor. In practise, for changing the main
base class of the operations from QuotaUsageRequestBase to
ResolvableNormalOriginOp.
Assignee | ||
Comment 3•9 months ago
|
||
ResolvableNormalOriginOp::SendResults currently doesn't check the mCanceled
flag despite that it inherits from NormalOriginOperationBase which allows
setting mCanceled to true.
Assignee | ||
Updated•9 months ago
|
Assignee | ||
Comment 4•9 months ago
|
||
Assignee | ||
Comment 5•9 months ago
|
||
OriginOperationBase is finally fully abstract.
Assignee | ||
Comment 6•9 months ago
|
||
The class which implements the protocol is already refcounted, but the
interaction with IPC still uses manual deallocation.
Assignee | ||
Comment 7•9 months ago
|
||
This is a prerequisite to make GetUsageOp independent from the actor.
Assignee | ||
Comment 8•9 months ago
|
||
This will allow to include QuotaCommon.h in header files less often.
Assignee | ||
Comment 9•9 months ago
|
||
Assignee | ||
Comment 10•9 months ago
|
||
It's now also possible to define callbacks for move-only types.
Assignee | ||
Comment 11•9 months ago
|
||
Assignee | ||
Comment 12•9 months ago
|
||
This test is needed for making sure that upcoming refactoring doesn't regress
getting origin usage, especially the cancelling of requests.
Assignee | ||
Comment 13•9 months ago
|
||
Assignee | ||
Comment 14•9 months ago
|
||
Assignee | ||
Comment 15•9 months ago
|
||
Assignee | ||
Comment 16•9 months ago
|
||
Sub actors are still created, but their only purpose is to allow cancellation
of alreaady created requests. Actual results are now returned as asynchronous
responses to the asynchronous messages.
Assignee | ||
Comment 17•9 months ago
|
||
PQuotaUsageRequest is now only used for cancellation of requests, constructed
using managed endpoints.
Assignee | ||
Comment 18•9 months ago
|
||
Actual results are now returned as asynchronous responses to the asynchronous
messages.
Assignee | ||
Comment 19•9 months ago
|
||
CanSend can be used instead of custom tracking of the actor state.
Assignee | ||
Comment 20•9 months ago
|
||
The class is not used as a base for other classes anymore.
Assignee | ||
Comment 21•9 months ago
|
||
Assignee | ||
Comment 22•9 months ago
|
||
Comment 23•9 months ago
|
||
Comment 24•9 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/72b53501cca5
https://hg.mozilla.org/mozilla-central/rev/5d8fd18370e7
https://hg.mozilla.org/mozilla-central/rev/08be1ab6e06c
https://hg.mozilla.org/mozilla-central/rev/b9dd09204dc4
https://hg.mozilla.org/mozilla-central/rev/e3de2b0a2e0f
https://hg.mozilla.org/mozilla-central/rev/939d52810d28
https://hg.mozilla.org/mozilla-central/rev/eda61190c54b
https://hg.mozilla.org/mozilla-central/rev/ca7aa8c8e72a
https://hg.mozilla.org/mozilla-central/rev/0b0b31a5f645
https://hg.mozilla.org/mozilla-central/rev/59ca51a26b82
https://hg.mozilla.org/mozilla-central/rev/1aeb44dece37
https://hg.mozilla.org/mozilla-central/rev/e5b7405feb4e
https://hg.mozilla.org/mozilla-central/rev/ac5c4d9fb58b
https://hg.mozilla.org/mozilla-central/rev/0938096af589
https://hg.mozilla.org/mozilla-central/rev/3567287b0cb3
https://hg.mozilla.org/mozilla-central/rev/6a3e71fe97e7
Assignee | ||
Updated•9 months ago
|
Comment 25•9 months ago
|
||
Comment 26•9 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a5ac64e161f5
https://hg.mozilla.org/mozilla-central/rev/a67df5b4972d
https://hg.mozilla.org/mozilla-central/rev/26144668242c
https://hg.mozilla.org/mozilla-central/rev/f79c7abbd765
https://hg.mozilla.org/mozilla-central/rev/ce838f1d824b
https://hg.mozilla.org/mozilla-central/rev/881e972d3b14
Description
•