Closed Bug 74818 Opened 23 years ago Closed 22 years ago

about:cache should list entries asynchronously

Categories

(Core :: Networking: Cache, defect, P4)

defect

Tracking

()

VERIFIED DUPLICATE of bug 165821
mozilla1.0.1

People

(Reporter: gordon, Assigned: gordon)

Details

(Whiteboard: [cache])

Listing all entries for the disk cache locks up the UI thread for a long time.  
We need to find a way to make this asynchronous.
Whiteboard: [cache]
How about just running the visitor on another thread from the UI thread? Ew, then 
we'd be testing the thread safety of the new cache!
it may be a lot simpler than that... if we just proxy the
nsICacheVisitor::visit{*} methods, we could use that as our
data pump for OnDataAvailable calls.

the biggest challenge is adding code to the cache service to 
make it possible to let go of the cache service lock between
calls to nsICacheVisitor::visit{*}. 
But won't proxying those calls just make things a LOT slower to render? Running 
in another thread seems simpler to me. Proxying will still block the caller of 
VisitEntries(), which shouldn't be on the main thread, IMHO.
if we use the PROXY_ASYNC flag, then proxying will not block the thread
calling VisitEntries().
i'm not sure i have strong feelings about either solution, so if you guys think
that putting VisitEntries on a separate thread would be simpler from the cache
service point of view, then no problem.  my only concern about this approach
is that it would mean possibly keeping around a huge buffer (if there were
tons and tons of cache entries say).  an event based solution would eliminate
such a buffer.

the downside to the event based solution is that it basically means that the
cache service will have to support some internal notion of a cache entry 
enumerator.  this may be very tricky, i don't know.
Target Milestone: --- → mozilla1.0
Bugs targeted at mozilla1.0 without the mozilla1.0 keyword moved to mozilla1.0.1 
(you can query for this string to delete spam or retrieve the list of bugs I've 
moved)
Target Milestone: mozilla1.0 → mozilla1.0.1
Priority: -- → P4
duplicate bug has patch... please review :)

*** This bug has been marked as a duplicate of 165821 ***
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → DUPLICATE
verified duplicate
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.