use error::{TorrentError, BlockError};
use memory::block::{Block, BlockMut};
use bip_metainfo::Metainfo;
use bip_util::bt::{InfoHash};
pub mod builder;
pub mod manager;
pub mod fs;
mod tasks;
#[derive(Debug)]
pub enum IDiskMessage {
AddTorrent(Metainfo),
RemoveTorrent(InfoHash),
SyncTorrent(InfoHash),
LoadBlock(BlockMut),
ProcessBlock(Block)
}
#[derive(Debug)]
pub enum ODiskMessage {
TorrentAdded(InfoHash),
TorrentRemoved(InfoHash),
TorrentSynced(InfoHash),
FoundGoodPiece(InfoHash, u64),
FoundBadPiece(InfoHash, u64),
BlockLoaded(BlockMut),
BlockProcessed(Block),
TorrentError(InfoHash, TorrentError),
LoadBlockError(BlockMut, BlockError),
ProcessBlockError(Block, BlockError)
}