Initial implementation of arbitrary data build queue

This adds the loadAsynchronously() method to ArbitraryDataReader, in addition to the existing loadSynchronously() method.

When requesting a website in a browser, previously the building of the resource's layers would be done synchronously in the API handler. This understandably caused many issues, so the building is now done asynchronously by a dedicated thread. A loading screen is shown in its place which auto refreshes every second until the build has completed.
This commit is contained in:
CalDescent
2021-08-18 07:50:45 +01:00
parent c3b44cee94
commit 79bbadad2f
10 changed files with 309 additions and 8 deletions

View File

@@ -0,0 +1,23 @@
<html>
<head>
<title>Loading...</title>
<script>
setTimeout(window.location.reload.bind(window.location), 1);
</script>
<style>
body {
font-family: Arial;
text-align: center;
}
h1 {
margin-top: 50px;
}
</style>
</head>
</html>
<body>
<h1>Loading... please wait...</h1>
<p>This page will refresh automatically when the content becomes available</p>
<p>(We can show a Qortal branded loading screen here)</p>
</body>
</html>