diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-26 17:12:43 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-26 17:12:43 +0100 |
commit | b7da5f50c6f97761f974dda8467d4819e6984323 (patch) | |
tree | 9b114c0f72a35fc95973cc31123e8fd73cf6ca4e /world/src/main.rs | |
parent | 912987377c60a4ec18442a5c6edcbed1aba0b59a (diff) | |
download | weareserver-b7da5f50c6f97761f974dda8467d4819e6984323.tar weareserver-b7da5f50c6f97761f974dda8467d4819e6984323.tar.bz2 weareserver-b7da5f50c6f97761f974dda8467d4819e6984323.tar.zst |
world: put cache option
Diffstat (limited to 'world/src/main.rs')
-rw-r--r-- | world/src/main.rs | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/world/src/main.rs b/world/src/main.rs index b5ce1a4..d46f4d1 100644 --- a/world/src/main.rs +++ b/world/src/main.rs @@ -81,6 +81,9 @@ pub struct Args { dry_run: bool, #[arg(long)] + put_cache: bool, + + #[arg(long)] debug_light: bool, } @@ -88,7 +91,11 @@ fn main() -> Result<()> { env_logger::init_from_env("LOG"); let args = Args::parse(); - let store = ResourceStore::new_memory(); + let store = if args.put_cache { + ResourceStore::new_env()? + } else { + ResourceStore::new_memory() + }; let mut prefabs = Vec::new(); let texture_cache = Arc::new(Mutex::new(HashMap::new())); @@ -249,7 +256,7 @@ fn main() -> Result<()> { } let mut size = 0; - store.iter(|_k, d| size += d.len()).unwrap(); + store.iter(|_k, len| size += len).unwrap(); info!( "prefab has network size of {}", humansize::format_size(size, BINARY) @@ -293,9 +300,12 @@ fn main() -> Result<()> { }); } + if args.put_cache { + return Ok(()); + } if args.push { - store.iter(|k, v| { - Packet::RespondResource(k, Data(v.to_vec())) + store.iter(|k, _| { + Packet::RespondResource(k, Data(store.get_raw(k).unwrap().unwrap())) .write(&mut sock) .unwrap(); })?; |