remove impl for box dyn storage

This commit is contained in:
Igor Katson 2024-04-30 09:11:23 +01:00
parent dc137c075f
commit 3e37b4698f
4 changed files with 4 additions and 26 deletions

View file

@ -28,25 +28,3 @@ pub trait TorrentStorage: Send + Sync {
None
}
}
impl TorrentStorage for Box<dyn TorrentStorage> {
fn pread_exact(&self, file_id: usize, offset: u64, buf: &mut [u8]) -> anyhow::Result<()> {
(**self).pread_exact(file_id, offset, buf)
}
fn pwrite_all(&self, file_id: usize, offset: u64, buf: &[u8]) -> anyhow::Result<()> {
(**self).pwrite_all(file_id, offset, buf)
}
fn remove_file(&self, file_id: usize, filename: &Path) -> anyhow::Result<()> {
(**self).remove_file(file_id, filename)
}
fn ensure_file_length(&self, file_id: usize, length: u64) -> anyhow::Result<()> {
(**self).ensure_file_length(file_id, length)
}
fn take(&self) -> anyhow::Result<Box<dyn TorrentStorage>> {
(**self).take()
}
}

View file

@ -41,7 +41,7 @@ impl TorrentStateInitializing {
let initial_check_results = self.meta.spawner.spawn_block_in_place(|| {
FileOps::new(
&self.meta.info,
&files,
&*files,
&self.meta.file_infos,
&self.meta.lengths,
)

View file

@ -491,7 +491,7 @@ impl TorrentStateLive {
pub(crate) fn file_ops(&self) -> FileOps<'_> {
FileOps::new(
&self.meta.info,
&self.files,
&*self.files,
&self.meta().file_infos,
&self.lengths,
)

View file

@ -303,8 +303,8 @@ impl ManagedTorrent {
{
self.with_state(|s| {
let files = match s {
crate::ManagedTorrentState::Paused(p) => &p.files,
crate::ManagedTorrentState::Live(l) => &l.files,
crate::ManagedTorrentState::Paused(p) => &*p.files,
crate::ManagedTorrentState::Live(l) => &*l.files,
_ => anyhow::bail!("invalid state"),
};
let fi = self