81 Commits

Author SHA1 Message Date
Jon Atkins
d268b0a79f remove the delay before requeueing 'error==TIMEOUT' tiles. it's not needed (stock site has no delay), and the other delay (before processing the queue again) has more than enough effect to batch multiple retries together when it's useful 2013-10-25 08:01:45 +01:00
Jon Atkins
8270812406 experimental change: render stale map data tiles before downloading fresh data - should give a more responsive appearance of data
also increase cache expiry time to 15 mins
2013-10-25 07:10:35 +01:00
Jon Atkins
3aeaefa428 tweaks to the refresh timers used after a move/on startup 2013-10-17 01:32:56 +01:00
Jon Atkins
34410bd047 map data request handling - tweaks to the timers, and immediate 'finished' processing when all data came from the cache 2013-10-16 07:11:01 +01:00
Jon Atkins
1eea47ca99 update code to match stock site changes 2013-10-16
- new munge set
- modified map data tile ID/QK - now based on portal level rather than map zoom
2013-10-16 03:11:19 +01:00
Jon Atkins
51b24386e6 disable 'timestampMs' map data requests. either i've misunderstood what their code is doing, or it's an incomplete feature in the stock site.
extensive testing has never found an instance where it reduced response size from the server
2013-10-14 17:59:53 +01:00
Jon Atkins
d2661874c6 some work-in-progress. from a read of the far-less-obfsucated code on the stock site it looks like map data can be retrieved as an update to an earlier query
i.e. pass the timestamp of the last data request, and the server should only send the changed data rather than everything
2013-10-07 20:29:05 +01:00
Jon Atkins
68cf5d0aa4 fix idle resume sometimes triggering during an existing request 2013-09-14 08:28:24 +01:00
Jon Atkins
01fe9bf51c only add link entities to the layer if they're long enough to be visible
an improvement on 4838de6788ad27bbf6357e1ac9099744483a9e01 to prevent excessive links being drawn when lots of portals are loaded
2013-09-14 07:31:13 +01:00
Jon Atkins
b83cf459c8 more tweaks to the request code
- delay briefly before retrying a timeout, and a bit longer before other errors
- also delay briefly before running the queue after a request, to give a chance of more than one request's requeued entries being handled atr once
- add a min tiles per request, to avoid sending multiple requests when only a few queued items remain
these are attempts to be nicer to the niantic servers, particularly in error cases, with some based on my best guess of the stock site behaviour, and others based on what seems reasonable to me
2013-09-06 22:32:57 +01:00
Jon Atkins
cb8547a0b9 refresh tweaks, reduced logging 2013-09-06 00:20:45 +01:00
Jon Atkins
a77cf50e42 more improvements to the data requesting
- fix idle resume, so it only occurs if the existing timer has been cancelled
- re-instate the cache, and updates for interface changes
- add a short delay between the initialisation of map data retreival, and actually starting network requests
2013-09-04 04:34:11 +01:00
Jon Atkins
76509f6b1f allow the in-ram cache to be optional, and disable it for now
the new tile retry code makes this cache much less useful now, so it ends up sucking up ram more than being useful
2013-09-04 00:56:29 +01:00
Jon Atkins
d14832d5c7 after map move, check to see if a refresh is actually required, or if the previous timeout can be restored 2013-09-03 21:38:19 +01:00
Jon Atkins
98265766ec limit portals drawn to the map in dense areas, to avoid slowing down leaflet too much
unfortunately, this wasn't as much of a speed boost as i'd hoped. just downloading/processing the data for 20,000+ portals from the server, even if only 2000 are displayed, still takes a LONG time
for #526
2013-09-03 16:24:21 +01:00
Jon Atkins
a8516d92ff increase timers for loading map data - should be less aggresasive now.
still not 100% happy, but it's better...
2013-09-02 03:50:22 +01:00
Jon Atkins
7792c80274 increae the initial map data request delay - gives more chance for munge issues to be fixed in the game score update code 2013-08-31 17:44:51 +01:00
Jon Atkins
e1891f84df reduce the retry count on a non-"error:TIMEOUT" failed request 2013-08-31 01:43:14 +01:00
Jon Atkins
5784be6b6f remove special queue clearing on map movestart - things work pretty well without it, and it was causing bugs
may come back and have another look at this later...
2013-08-30 04:11:27 +01:00
Jon Atkins
de3d05fe95 remove entities outside the map request bounds before processing any requests
prevent the selected portal from being removed
re-select the selected portal - should refresh the side bar when data changes
2013-08-30 00:34:07 +01:00
Jon Atkins
ffd0258a7c call the requestFinished hook in the new request handling code - for plugins that need it
also make a request to hook something that doesn't exist a non-fatal error - to reduce plugin breakage for removed hooks
2013-08-29 06:36:48 +01:00
Jon Atkins
8918b9da6f status message updates for new loading code 2013-08-28 22:41:21 +01:00
Jon Atkins
96d3e1ded7 improved request queue handling 2013-08-28 19:34:21 +01:00
Jon Atkins
ccc13b0131 added status update on resume from idle 2013-08-28 16:55:37 +01:00
Jon Atkins
4337fd1f21 add basic status bar updates for new map request code 2013-08-28 16:41:39 +01:00
Jon Atkins
7923903544 make the refresh time dependant on the time the previous refresh took to complete, multiplied by a factor (currently times two)
this will ensure that we don't spend most of our time refreshing. also, when the backend servers go slow we naturally back off the refresh rate
2013-08-28 06:19:45 +01:00
Jon Atkins
571a17d84b work-in-progress - committing to switch to other work 2013-08-27 21:04:28 +01:00
Jon Atkins
cae60c0843 bugfix in error retry counting 2013-08-27 05:53:59 +01:00
Jon Atkins
dc41671279 map data now handles refreshes itself. this is so it can ensure that it doesn't start the refresh timer until all requests are complete
this avoids the situation where map data requests are slow enough that requests get aborted before a complete refresh has been done
2013-08-27 05:42:59 +01:00
Jon Atkins
de432a0aa3 more work on new render code. the new request class is now used - things are almost working right again
still need to change map refresh timer, add back resonators, and write a plugin for field MU count display
2013-08-27 02:43:58 +01:00
Jon Atkins
be97d72158 more work-in-progress... 2013-08-26 17:44:08 +01:00