MCPcopy Create free account
hub / github.com/Snapchat/Valdi / onLoad

Method onLoad

valdi/src/valdi/runtime/Resources/AssetsManager.cpp:770–802  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

768}
769
770void AssetsManager::onLoad(const Ref<AssetLoaderRequestHandler>& request, const Result<Ref<LoadedAsset>>& result) {
771 VALDI_TRACE("Valdi.onAssetLoaded")
772
773 const auto& assetKey = request->getAssetKey();
774 if constexpr (kEnableAssetsLogs) {
775 if (result) {
776 VALDI_INFO(_logger, "Asset '{}' finished loaded", assetKey);
777 }
778 }
779
780 if (!result) {
781 VALDI_WARN(_logger, "Asset '{}' finished loaded with error: {}", assetKey, result.error());
782 }
783
784 auto guard = lock();
785
786 auto managedAsset = getManagedAsset(assetKey);
787 if (managedAsset == nullptr || request->scheduledForCancelation()) {
788 return;
789 }
790
791 request->setLastLoadResult(result);
792
793 auto consumersSize = managedAsset->getConsumersSize();
794 for (size_t i = 0; i < consumersSize; i++) {
795 const auto& assetConsumer = managedAsset->getConsumer(i);
796 if (assetConsumer->getAssetLoaderCompletion() == request) {
797 onConsumerLoad(assetConsumer, result);
798 }
799 }
800
801 scheduleAssetUpdate(std::move(guard), assetKey);
802}
803
804void AssetsManager::onConsumerLoad(const Ref<AssetConsumer>& assetConsumer, const Result<Ref<LoadedAsset>>& result) {
805 assetConsumer->setNotified(false);

Callers

nothing calls this directly

Calls 4

setLastLoadResultMethod · 0.80
getConsumersSizeMethod · 0.80
errorMethod · 0.65

Tested by

no test coverage detected