MCPcopy Create free account
hub / github.com/CesiumGS/cesium-native / loadBytesFromNetwork

Method loadBytesFromNetwork

CesiumAsync/src/NetworkAssetDescriptor.cpp:58–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56}
57
58Future<Result<std::vector<std::byte>>>
59NetworkAssetDescriptor::loadBytesFromNetwork(
60 const CesiumAsync::AsyncSystem& asyncSystem,
61 const std::shared_ptr<IAssetAccessor>& pAssetAccessor) const {
62 return this->loadFromNetwork(asyncSystem, pAssetAccessor)
63 .thenInWorkerThread(
64 [](std::shared_ptr<CesiumAsync::IAssetRequest>&& pRequest)
65 -> Result<std::vector<std::byte>> {
66 const CesiumAsync::IAssetResponse* pResponse = pRequest->response();
67 if (!pResponse) {
68 return ErrorList::error(
69 fmt::format("Request for {} failed.", pRequest->url()));
70 }
71
72 uint16_t statusCode = pResponse->statusCode();
73 if (statusCode != 0 && (statusCode < 200 || statusCode >= 300)) {
74 return ErrorList::error(fmt::format(
75 "Request for {} failed with code {}",
76 pRequest->url(),
77 pResponse->statusCode()));
78 }
79
80 return std::vector<std::byte>(
81 pResponse->data().begin(),
82 pResponse->data().end());
83 });
84}
85
86} // namespace CesiumAsync

Callers 2

loadMethod · 0.80
loadMethod · 0.80

Calls 8

loadFromNetworkMethod · 0.95
formatFunction · 0.85
thenInWorkerThreadMethod · 0.45
responseMethod · 0.45
statusCodeMethod · 0.45
beginMethod · 0.45
dataMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected