// SPDX-License-Identifier: Apache-2.0
// Copyright (c) 2025 rhythmcache
// https://github.com/rhythmcache/payload-dumper-rust
useanyhow::Result;useasync_trait::async_trait;/// abstract I/O trait for reading ZIP files from any source
#[async_trait]pubtraitZipIO: Send + Sync {/// read exact number of bytes at given offset
async fnread_at(&self, offset:u64, buf:&mut [u8])->Result<()>;/// get total size of the source
async fnsize(&self)->Result<u64>;}