-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[map] Remove empty blobs, ignore acquisition exceptions during eviction
The WMS server can return empty 200 responses under load. Empty blobs were being persisted in the cache (and not refreshed), making tiles received this way permanently undisplayable. There may be an opportunity to evict any blobs that fail to decode, but the logic for this would be more complex as decoding can also flake when under load. Furthermore, when the map is moved after long-running tile fetches that eventually fail, exceptions could be dropped in one of at least two ways: * via the image provider (`OneFrameImageStreamCompleter`), if the map tile layer has unsubscribed from the image stream, as when the tile scrolls offscreen before the image loading fails, or * via the async cache, if enough tiles are scrolled to cause eviction. The `onEvict` for images has to wait for them to load to dispose them. (There's an opportunity for improvement there.) The `OneFrameImageStreamCompleter`/`FlutterError.reportError` behavior is acceptable and will be silent in release mode, but note that it can fail tests. The onEvict behavior should ignore these exceptions as they would be handled elsewhere if they matter. Fixes #83
- Loading branch information
1 parent
e48946e
commit 00db561
Showing
7 changed files
with
143 additions
and
112 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters