Revert "validation: spend way to much time saving 1 microsecond"
This reverts commit 18d51af7ca.
This commit is contained in:
@@ -61,30 +61,17 @@ pub async fn load_asset_versions<I:IntoIterator<Item=u64>>(
|
||||
context:&rbx_asset::cloud::Context,
|
||||
runtime:&rbx_asset::cloud::LuauSessionLatestRequest,
|
||||
assets:I,
|
||||
)->Result<Vec<u64>,LoadAssetVersionsError>
|
||||
where <I as IntoIterator>::IntoIter:ExactSizeIterator,
|
||||
{
|
||||
)->Result<Vec<u64>,LoadAssetVersionsError>{
|
||||
// construct script with inline IDs
|
||||
// TODO: concurrent execution
|
||||
let script={
|
||||
let mut iter=assets.into_iter();
|
||||
let mut script=String::with_capacity(60+iter.len()*(42+16));
|
||||
script+="local InsertService=game:GetService(\"InsertService\")\nreturn\n";//60
|
||||
macro_rules! write_call{
|
||||
($id:expr)=>{
|
||||
write!(script,"InsertService:GetLatestAssetVersionAsync({})",$id)//42 + decimal_digits(1<<52)
|
||||
};
|
||||
}
|
||||
if let Some(first)=iter.next(){
|
||||
use std::fmt::Write;
|
||||
write_call!(first).unwrap();
|
||||
for item in iter{
|
||||
script.push_str(",\n");
|
||||
write_call!(item).unwrap();
|
||||
}
|
||||
}
|
||||
script
|
||||
};
|
||||
let mut script="local InsertService=game:GetService(\"InsertService\")\n".to_string();
|
||||
script+="return {\n";
|
||||
for asset in assets{
|
||||
script+="InsertService:GetLatestAssetVersionAsync(";
|
||||
script+=&asset.to_string();
|
||||
script+="),\n";
|
||||
}
|
||||
script+="}\n";
|
||||
|
||||
let session=rbx_asset::cloud::LuauSessionCreate{
|
||||
script:&script,
|
||||
@@ -106,10 +93,7 @@ pub async fn load_asset_versions<I:IntoIterator<Item=u64>>(
|
||||
match result{
|
||||
Ok(Ok(rbx_asset::cloud::LuauResults{results}))=>{
|
||||
results.into_iter().map(|load_asset_version|
|
||||
match load_asset_version.as_u64(){
|
||||
Some(version)=>Ok(version),
|
||||
None=>Err(LoadAssetVersionsError::NonPositiveNumber(load_asset_version))
|
||||
}
|
||||
load_asset_version.as_u64().ok_or_else(||LoadAssetVersionsError::NonPositiveNumber(load_asset_version.clone()))
|
||||
).collect()
|
||||
},
|
||||
Ok(Err(e))=>Err(LoadAssetVersionsError::Script(e)),
|
||||
|
||||
Reference in New Issue
Block a user