12 #ifndef hifi_AssetResourceRequest_h
13 #define hifi_AssetResourceRequest_h
17 #include <PortableHighResolutionClock.h>
19 #include "AssetRequest.h"
20 #include "ResourceRequest.h"
22 class AssetResourceRequest :
public ResourceRequest {
27 const bool isObservable =
true,
28 const qint64 callerId = -1,
29 const QString& extra =
"");
30 virtual ~AssetResourceRequest()
override;
33 virtual void doSend()
override;
36 void onDownloadProgress(qint64 bytesReceived, qint64 bytesTotal);
39 static bool urlIsAssetHash(
const QUrl& url);
41 void requestMappingForPath(
const AssetUtils::AssetPath& path);
42 void requestHash(
const AssetUtils::AssetHash& hash);
44 GetMappingRequest* _assetMappingRequest {
nullptr };
45 AssetRequest* _assetRequest {
nullptr };
47 p_high_resolution_clock::time_point _lastProgressDebug;
49 int64_t _lastRecordedBytesDownloaded { 0 };