-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlightweight.txt
37 lines (28 loc) · 924 Bytes
/
lightweight.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Lightweight 2
On page down set MAILBOX's last refresh to:
(now() - RefreshInterval + 1)
=> will refresh in 1 second's time (if still visible)
only refresh the folders on the current page
if you page down repeatedly, and quickly, nothing will get refreshed
until 1s after you stop moving.
Action open_folder => refresh NOW
Action !open_folder (e.g. moves within page) => conditional refresh
all without the need for timers!
test with:
10^3 folders containing 10^6 messages
10^6 folders containing 10^9 messages
------------------------------------------------------------
UI opens mailbox M
select M - get count -> 10^6
alloc index space (all MISSING)
want header stuff
query header cache (Y/N)
populate index
query body cache (Y/N)
populate index
get most recent block (10^3)
populate index
repeat in background
work backwards
if cursor moves, get emails around new point
bcache should imply hcache is filled