+--------------------------+ | "disk_io_thread" | | "(manages piece cache)" | +--------------------------+ ^ | v +--------------------------+ | "piece_manager" | | "(maps pieces to slots)" | +--------------------------+ ^ | v "customization point" /----------------------------\ +-------------------+ | "storage" |<---->| "file_pool" | | | | "open file cache" | | "(maps slots to file and" | +-------------------+ | "offset. reads and writes" | | "to disk)" | +--------------------+ | |<-----+ "file_storage" | \----------------------------/ | "standard slot to" | ^ | "file mapping" | | +--------------------+ v +--------------------------+ | "file" | | "(file class reads and" | | "writes files)" | +--------------------------+