SYMBOL INDEX (593 symbols across 82 files) FILE: build.rs function main (line 1) | fn main() { FILE: src/error_types/block.rs type BlockManipulationError (line 6) | pub enum BlockManipulationError { FILE: src/error_types/conversions.rs type CannotConvertError (line 35) | pub enum CannotConvertError { type Error (line 46) | type Error = CannotConvertError; method try_from (line 48) | fn try_from(value: DriveIOError) -> Result { method wrap (line 63) | pub(crate) fn wrap(io_error: std::io::Error, error_origin: DiskPointer) ... type Error (line 76) | type Error = CannotConvertError; method try_from (line 78) | fn try_from(value: WrappedIOError) -> Result { FILE: src/error_types/critical.rs type CriticalError (line 30) | pub enum CriticalError { method handle (line 61) | pub(crate) fn handle(self) { type RetryCapError (line 39) | pub enum RetryCapError { function go_handle_critical (line 67) | fn go_handle_critical(error: CriticalError) { function handle_drive_inaccessible (line 102) | fn handle_drive_inaccessible(reason: InvalidDriveReason) -> bool { function handle_out_of_retries (line 166) | fn handle_out_of_retries(reason:RetryCapError) -> bool { function troubleshooter (line 183) | fn troubleshooter() -> bool { function check_disk (line 312) | fn check_disk() -> bool { function update_drive_path (line 381) | fn update_drive_path() { function do_remount (line 451) | fn do_remount() { function do_disk_restore (line 467) | fn do_disk_restore() { function inform_improper_floppy_drive (line 539) | fn inform_improper_floppy_drive() -> bool { function troubleshooter_finished (line 583) | fn troubleshooter_finished() { FILE: src/error_types/drive.rs type DriveError (line 12) | pub enum DriveError { type DriveIOError (line 25) | pub enum DriveIOError { type WrappedIOError (line 31) | pub struct WrappedIOError { type InvalidDriveReason (line 42) | pub enum InvalidDriveReason { FILE: src/error_types/filesystem.rs constant FILE_NAME_TOO_LONG (line 19) | pub(in super::super) const FILE_NAME_TOO_LONG: c_int = libc::ENAMETOOLONG; constant DIRECTORY_NOT_EMPTY (line 21) | pub(in super::super) const DIRECTORY_NOT_EMPTY: c_int = libc::ENOTEMPTY; constant ITEM_ALREADY_EXISTS (line 23) | pub(in super::super) const ITEM_ALREADY_EXISTS: c_int = libc::EEXIST; constant NOT_A_DIRECTORY (line 25) | pub(in super::super) const NOT_A_DIRECTORY: c_int = libc::ENOTDIR; constant INVALID_ARGUMENT (line 27) | pub(in super::super) const INVALID_ARGUMENT: c_int = libc::EINVAL; constant IS_A_DIRECTORY (line 29) | pub(in super::super) const IS_A_DIRECTORY: c_int = libc::EISDIR; constant NO_SUCH_ITEM (line 35) | pub(in super::super) const NO_SUCH_ITEM: c_int = libc::ENOENT; constant STALE_HANDLE (line 39) | pub(in super::super) const STALE_HANDLE: c_int = libc::ESTALE; constant GENERIC_FAILURE (line 41) | pub(in super::super) const GENERIC_FAILURE: c_int = libc::EIO; constant TRY_AGAIN (line 45) | pub(in super::super) const TRY_AGAIN: c_int = libc::ERESTART; constant BUSY (line 49) | pub(in super::super) const BUSY: c_int = libc::EBUSY; method from (line 52) | fn from(value: DriveError) -> Self { FILE: src/error_types/header.rs type HeaderError (line 6) | pub enum HeaderError { FILE: src/filesystem/disk_backup/restore.rs function restore_disk (line 15) | pub fn restore_disk(number: u16) -> bool { FILE: src/filesystem/disk_backup/update.rs function update_backup (line 13) | pub(crate) fn update_backup(block: &RawBlock) { function large_update_backup (line 63) | pub(crate) fn large_update_backup(start: DiskPointer, data: &[u8]) { FILE: src/filesystem/file_attributes/conversion.rs type Error (line 16) | type Error = c_int; method try_from (line 18) | fn try_from(value: FileHandle) -> Result { type Error (line 28) | type Error = DriveError; method try_from (line 30) | fn try_from(value: DirectoryItem) -> Result { function go_get_metadata (line 35) | fn go_get_metadata(item: DirectoryItem) -> Result { FILE: src/filesystem/file_handle/file_handle_methods.rs type LoveHandles (line 13) | struct LoveHandles { method new (line 24) | fn new() -> Self { method make_handle (line 34) | fn make_handle(&mut self, item: FileHandle) -> u64 { method read_handle (line 47) | fn read_handle(&self, number: u64) -> FileHandle { method next_free (line 60) | fn next_free(&mut self) -> u64 { method release_handle (line 74) | fn release_handle(&mut self, number: u64) { method name (line 122) | pub fn name(&self) -> &str { method allocate (line 137) | pub fn allocate(self) -> u64 { method read (line 147) | pub fn read(handle: u64) -> Self { method drop_handle (line 156) | pub fn drop_handle(handle: u64) { method is_file (line 164) | pub fn is_file(&self) -> Result, c_int> { method get_directory_item (line 210) | pub fn get_directory_item(&self) -> Result { method get_named_item (line 239) | pub(crate) fn get_named_item(&self) -> Result, c_int> { FILE: src/filesystem/file_handle/file_handle_struct.rs type FileHandle (line 17) | pub(crate) struct FileHandle { FILE: src/filesystem/filesystem_struct.rs type FlusterFS (line 12) | pub struct FlusterFS { type FilesystemOptions (line 36) | pub struct FilesystemOptions { FILE: src/filesystem/fuse_filesystem_methods.rs constant HANDLE_TIME_TO_LIVE (line 52) | const HANDLE_TIME_TO_LIVE: Duration = Duration::from_secs(365*24*60*60); method init (line 73) | fn init(&self, _req: fuse_mt::RequestInfo) -> fuse_mt::ResultEmpty { method destroy (line 102) | fn destroy(&self) { method getattr (line 123) | fn getattr( method truncate (line 197) | fn truncate( method mkdir (line 288) | fn mkdir( method unlink (line 348) | fn unlink( method rmdir (line 405) | fn rmdir( method rename (line 480) | fn rename( method open (line 1105) | fn open( method read (line 1234) | fn read( method write (line 1344) | fn write( method flush (line 1414) | fn flush( method release (line 1431) | fn release( method fsync (line 1445) | fn fsync( method opendir (line 1456) | fn opendir( method readdir (line 1479) | fn readdir( method releasedir (line 1572) | fn releasedir( method fsyncdir (line 1584) | fn fsyncdir( method statfs (line 1596) | fn statfs(&self, _req: fuse_mt::RequestInfo, _path: &std::path::Path) ->... method create (line 1708) | fn create( FILE: src/filesystem/internal_filesystem_methods.rs method new (line 36) | pub fn new(use_virtual_disks: Option, floppy_drive: PathBuf, ba... method start (line 93) | pub fn start(options: &FilesystemOptions) -> Self { FILE: src/filesystem/item_flag/flag_struct.rs function from (line 138) | fn from(value: ItemFlag) -> Self { method deduce_flag (line 145) | pub fn deduce_flag(value: u32) -> Result { FILE: src/helpers/hex_view.rs function hex_view (line 3) | pub fn hex_view(bytes: Vec) -> String { FILE: src/main.rs type Cli (line 43) | struct Cli { function main (line 62) | fn main() { FILE: src/pool/disk/blank_disk/blank_disk_methods.rs method unchecked_read_block (line 26) | fn unchecked_read_block(&self, _block_number: u16) -> Result Result<(), Driv... method disk_file (line 38) | fn disk_file(self) -> File { method get_disk_number (line 43) | fn get_disk_number(&self) -> u16 { method set_disk_number (line 52) | fn set_disk_number(&mut self, _disk_number: u16) -> () { method disk_file_mut (line 59) | fn disk_file_mut(&mut self) -> &mut File { method flush (line 64) | fn flush(&mut self) -> Result<(), DriveError> { method unchecked_write_large (line 71) | fn unchecked_write_large(&mut self, data:Vec, start_block:DiskPointe... method unchecked_read_multiple_blocks (line 77) | fn unchecked_read_multiple_blocks(&self, _block_number: u16, _num_block_... method new (line 84) | pub fn new(file: File) -> Self { method get_allocation_table (line 91) | fn get_allocation_table(&self) -> &[u8] { method set_allocation_table (line 96) | fn set_allocation_table(&mut self, _new_table: &[u8]) -> Result<(), Driv... FILE: src/pool/disk/blank_disk/blank_disk_struct.rs type BlankDisk (line 4) | pub struct BlankDisk { FILE: src/pool/disk/drive_methods.rs method open_direct (line 60) | pub fn open_direct(disk_number: u16) -> Result { method open (line 67) | pub fn open(disk_number: u16) -> Result { method get_blank_disk (line 72) | pub fn get_blank_disk(disk_number: u16) -> Result { method currently_inserted_disk_number (line 77) | pub fn currently_inserted_disk_number() -> u16 { function open_and_deduce_disk (line 84) | fn open_and_deduce_disk(disk_number: u16, new_disk: bool) -> Result Result bool { function prompt_for_disk (line 312) | fn prompt_for_disk(disk_number: u16) -> Result { function prompt_for_blank_disk (line 395) | fn prompt_for_blank_disk(disk_number: u16) -> Result Result<(), Driv... FILE: src/pool/disk/drive_struct.rs type FloppyDrive (line 23) | pub struct FloppyDrive { type DiskType (line 31) | pub enum DiskType { type DiskBootstrap (line 62) | pub trait DiskBootstrap { method bootstrap (line 66) | fn bootstrap(file: File, disk_number: u16) -> Result method from_header (line 70) | fn from_header(block: RawBlock, file: File) -> Self; FILE: src/pool/disk/generic/block/allocate/block_allocation.rs type BlockAllocation (line 27) | pub trait BlockAllocation { method get_allocation_table (line 29) | fn get_allocation_table(&self) -> &[u8]; method set_allocation_table (line 32) | fn set_allocation_table(&mut self, new_table: &[u8]) -> Result<(), Dri... method find_free_blocks (line 36) | fn find_free_blocks(&self, blocks: u16) -> Result, u16> { method allocate_blocks (line 42) | fn allocate_blocks(&mut self, blocks: &Vec) -> Result) -> Result { method is_block_allocated (line 53) | fn is_block_allocated(&self, block_number: u16) -> bool { function go_find_free_blocks (line 58) | fn go_find_free_blocks( function go_allocate_or_free_blocks (line 95) | fn go_allocate_or_free_blocks( function go_check_block_allocated (line 154) | fn go_check_block_allocated(caller: &T, blo... FILE: src/pool/disk/generic/block/allocate/tests.rs function allocate_and_free_one_block (line 17) | fn allocate_and_free_one_block() { function oversized_allocation (line 42) | fn oversized_allocation() { function saturate_table (line 52) | fn saturate_table() { function marking (line 94) | fn marking() { type TestTable (line 111) | struct TestTable { method new (line 116) | fn new() -> Self { method get_allocation_table (line 124) | fn get_allocation_table(&self) -> &[u8] { method set_allocation_table (line 128) | fn set_allocation_table(&mut self, new_table: &[u8]) -> Result<(), Drive... FILE: src/pool/disk/generic/block/block_structs.rs type RawBlock (line 12) | pub struct RawBlock { FILE: src/pool/disk/generic/block/crc.rs function check_crc (line 5) | pub fn check_crc(block: [u8; 512]) -> bool { function compute_crc (line 12) | pub fn compute_crc(bytes: &[u8]) -> [u8; 4] { function add_crc_to_block (line 18) | pub(crate) fn add_crc_to_block(block: &mut [u8; 512]) { FILE: src/pool/disk/generic/disk_trait.rs type GenericDiskMethods (line 21) | pub trait GenericDiskMethods { method unchecked_read_block (line 24) | fn unchecked_read_block(&self, block_number: u16) -> Result Result<(), Dr... method unchecked_write_large (line 34) | fn unchecked_write_large(&mut self, data: Vec, start_block: DiskPo... method disk_file (line 37) | fn disk_file(self) -> File; method disk_file_mut (line 40) | fn disk_file_mut(&mut self) -> &mut File; method get_disk_number (line 43) | fn get_disk_number(&self) -> u16; method set_disk_number (line 46) | fn set_disk_number(&mut self, disk_number: u16); method flush (line 50) | fn flush(&mut self) -> Result<(), DriveError>; FILE: src/pool/disk/generic/generic_structs/find_space.rs type BytePingPong (line 4) | pub trait BytePingPong { method to_bytes (line 6) | fn to_bytes(&self) -> Vec; method from_bytes (line 9) | fn from_bytes(bytes: &[u8]) -> Self; function find_free_space (line 16) | pub fn find_free_space(data: &[u8], requested_space: us... FILE: src/pool/disk/generic/generic_structs/pointer_struct.rs type DiskPointer (line 4) | pub(crate) struct DiskPointer { method to_bytes (line 10) | pub(crate) fn to_bytes(self) -> [u8; 4] { method from_bytes (line 16) | pub(crate) fn from_bytes(bytes: [u8; 4]) -> Self { method get_random (line 24) | pub(crate) fn get_random() -> Self { method new_final_pointer (line 33) | pub(crate) fn new_final_pointer() -> Self { method no_destination (line 40) | pub(crate) fn no_destination(&self) -> bool { FILE: src/pool/disk/generic/io/cache/cache_implementation.rs constant CACHE_SIZE (line 74) | const CACHE_SIZE: usize = 2880 * 2; constant CACHE_SIZE (line 76) | const CACHE_SIZE: usize = 2880 * 16; type BlockCache (line 92) | pub(super) struct BlockCache { method new (line 140) | fn new() -> Self { method try_find (line 159) | pub(super) fn try_find(pointer: DiskPointer) -> Option { method try_find_silent (line 164) | pub(super) fn try_find_silent(pointer: DiskPointer) -> Option Result<(), Driv... method get_hit_rate (line 178) | pub(super) fn get_hit_rate() -> f64 { method get_pressure (line 185) | pub(super) fn get_pressure() -> f64 { method promote_item (line 190) | fn promote_item(&mut self, item: CachedBlock) { method remove_item (line 199) | pub(super) fn remove_item(pointer: &DiskPointer) { method flush (line 216) | pub(super) fn flush(tier_number: usize) -> Result<(), DriveError> { method cleanup_tier (line 228) | pub(super) fn cleanup_tier(tier_number: usize) -> Option { method flush_a_disk (line 241) | pub(super) fn flush_a_disk(disk_number: u16) -> Result { method most_common_disk (line 256) | pub(super) fn most_common_disk() -> (u16, u16) { method get_tier_space (line 263) | pub(super) fn get_tier_space(tier_number: usize) -> usize { type TieredCache (line 107) | struct TieredCache { method new (line 271) | fn new(size: usize) -> Self { method find_item (line 282) | fn find_item(&self, pointer: &DiskPointer) -> Option { method get_item (line 292) | fn get_item(&mut self, index: usize, silent: bool) -> Option<&CachedBl... method extract_item (line 298) | fn extract_item(&mut self, index: usize) -> Option { method add_item (line 304) | fn add_item(&mut self, item: CachedBlock) { method update_item (line 312) | fn update_item(&mut self, index: usize, new_item: CachedBlock) { method get_best (line 318) | fn get_best(&mut self) -> Option { method get_worst (line 324) | fn get_worst(&mut self) -> Option { method is_full (line 328) | fn is_full(&self) -> bool { type CachedBlock (line 119) | pub(super) struct CachedBlock { method into_raw (line 336) | pub(super) fn into_raw(self) -> RawBlock { method from_raw (line 345) | pub(super) fn from_raw(block: &RawBlock, requires_flush: bool) -> Self { function go_try_find_cache (line 360) | fn go_try_find_cache(pointer: DiskPointer, silent: bool) -> Option Result<(), DriveEr... function go_remove_item_cache (line 538) | fn go_remove_item_cache(pointer: &DiskPointer) { function go_make_new_tier (line 573) | fn go_make_new_tier(size: usize) -> TieredCache { function go_find_tier_item (line 586) | fn go_find_tier_item(tier: &TieredCache, pointer: &DiskPointer) -> Optio... function go_get_tier_item (line 599) | fn go_get_tier_item(tier: &mut TieredCache, index: usize, silent: bool) ... function go_extract_tier_item (line 620) | fn go_extract_tier_item(tier: &mut TieredCache, index: usize) -> Option<... function go_add_tier_item (line 630) | fn go_add_tier_item(tier: &mut TieredCache, item: CachedBlock) { function go_update_tier_item (line 644) | fn go_update_tier_item(tier: &mut TieredCache, index: usize, new_item: C... function go_get_tier_best (line 663) | fn go_get_tier_best(tier: &mut TieredCache) -> Option { function go_get_tier_worst (line 674) | fn go_get_tier_worst(tier: &mut TieredCache) -> Option { function go_flush_tier (line 685) | fn go_flush_tier(tier_number: usize) -> Result<(), DriveError> { function go_cleanup_tier (line 853) | fn go_cleanup_tier(tier_number: usize) -> Option { function go_flush_disk_from_cache (line 921) | fn go_flush_disk_from_cache(disk_number: u16) -> Result { function go_check_tier_full (line 1026) | fn go_check_tier_full(tier: &TieredCache) -> bool { function go_find_most_common_disk (line 1030) | fn go_find_most_common_disk() -> (u16, u16) { function go_get_cache_pressure (line 1055) | fn go_get_cache_pressure() -> f64 { function go_get_tier_free_space (line 1061) | fn go_get_tier_free_space(tier_number: usize) -> usize { function disk_load_header_invalidation (line 1078) | pub(in super::super::cache) fn disk_load_header_invalidation(disk_number... FILE: src/pool/disk/generic/io/cache/cache_io.rs type CachedBlockIO (line 33) | pub struct CachedBlockIO { method status_of_cached_block (line 77) | pub fn status_of_cached_block(block_origin: DiskPointer) -> Option Result Result<(), DriveError> { method remove_block (line 115) | pub fn remove_block(block_origin: &DiskPointer) { method flush (line 120) | pub fn flush() -> Result<(), DriveError> { function go_read_cached_block (line 138) | fn go_read_cached_block(block_location: DiskPointer) -> Result Result<(), DriveError> { FILE: src/pool/disk/generic/io/cache/cached_allocation.rs type CachedAllocationDisk (line 21) | pub(crate) struct CachedAllocationDisk { method open (line 37) | pub(crate) fn open(disk_number: u16) -> Result { method get_allocation_table (line 60) | fn get_allocation_table(&self) -> &[u8] { method set_allocation_table (line 65) | fn set_allocation_table(&mut self,new_table: &[u8]) -> Result<(), DriveE... method drop (line 79) | fn drop(&mut self) { FILE: src/pool/disk/generic/io/cache/statistics.rs constant HIT_MEMORY (line 8) | const HIT_MEMORY: usize = 10_000; type BlockCacheStatistics (line 21) | pub(super) struct BlockCacheStatistics { method new (line 37) | fn new() -> Self { method get_hit_rate (line 43) | pub(super) fn get_hit_rate() -> f64 { method record_hit (line 56) | pub(super) fn record_hit() { method record_miss (line 70) | pub(super) fn record_miss() { FILE: src/pool/disk/generic/io/checked_io.rs type CheckedIO (line 24) | pub(super) trait CheckedIO: BlockAllocation + GenericDiskMethods { method checked_read (line 30) | fn checked_read(&self, block_number: u16) -> Result Result<(), DriveError> { method checked_update (line 74) | fn checked_update(&mut self, block: &RawBlock) -> Result<(), DriveErro... method checked_large_update (line 89) | fn checked_large_update(&mut self, data: Vec, start_block: DiskPoi... FILE: src/pool/disk/generic/io/read.rs function read_block_direct (line 50) | pub(crate) fn read_block_direct( function read_multiple_blocks_direct (line 176) | pub(crate) fn read_multiple_blocks_direct( FILE: src/pool/disk/generic/io/wipe.rs function destroy_disk (line 10) | pub(crate) fn destroy_disk(disk: &mut File) -> Result<(), DriveError> { FILE: src/pool/disk/generic/io/write.rs function write_block_direct (line 34) | pub(crate) fn write_block_direct(disk_file: &File, block: &RawBlock, has... function write_large_direct (line 143) | pub(crate) fn write_large_direct(disk_file: &File, data: &[u8], start_bl... function large_write_fallback (line 239) | fn large_write_fallback(disk_file: &File, data: &[u8], start_block: Disk... FILE: src/pool/disk/pool_disk/block/header/header_methods.rs method read (line 33) | pub fn read() -> Result { method write (line 37) | pub fn write(&self) -> Result<(), DriveError> { method to_block (line 41) | pub fn to_block(self) -> RawBlock { method from_block (line 45) | pub fn from_block(block: &RawBlock) -> Result Result { function prompt_for_new_pool (line 125) | fn prompt_for_new_pool(disk: BlankDisk) -> Result<(), DriveError> { function pool_header_from_raw_block (line 158) | fn pool_header_from_raw_block(block: &RawBlock) -> Result RawBlock { function create_new_pool_disk (line 287) | fn create_new_pool_disk(mut disk: BlankDisk) -> Result<(), DriveError> { function new_pool_header (line 309) | fn new_pool_header() -> PoolDiskHeader { function write_pool_header_to_disk (line 345) | fn write_pool_header_to_disk(header: &PoolDiskHeader) -> Result<(), Driv... function disk_wiper_mode (line 368) | fn disk_wiper_mode() -> ! { function disk_restore_mode (line 432) | fn disk_restore_mode() -> ! { FILE: src/pool/disk/pool_disk/block/header/header_struct.rs type PoolDiskHeader (line 12) | pub struct PoolDiskHeader { FILE: src/pool/disk/pool_disk/block/header/tests.rs function block_ping_pong (line 19) | fn block_ping_pong() { method random (line 33) | fn random() -> Self { method random (line 53) | fn random() -> Self { function random_allocations (line 59) | fn random_allocations() -> [u8; 360] { FILE: src/pool/disk/pool_disk/pool_disk_methods.rs method bootstrap (line 34) | fn bootstrap(_file: File, _disk_number: u16) -> Result { method from_header (line 41) | fn from_header(block: RawBlock, file: File) -> Self { method get_allocation_table (line 64) | fn get_allocation_table(&self) -> &[u8] { method set_allocation_table (line 68) | fn set_allocation_table(&mut self, new_table: &[u8]) -> Result<(), Drive... method unchecked_read_block (line 80) | fn unchecked_read_block(&self, block_number: u16) -> Result Result<(), Driv... method disk_file (line 92) | fn disk_file(self) -> File { method get_disk_number (line 97) | fn get_disk_number(&self) -> u16 { method set_disk_number (line 102) | fn set_disk_number(&mut self, disk_number: u16) { method disk_file_mut (line 107) | fn disk_file_mut(&mut self) -> &mut File { method flush (line 112) | fn flush(&mut self) -> Result<(), DriveError> { method unchecked_write_large (line 119) | fn unchecked_write_large(&mut self, _data:Vec, _start_block: DiskPoi... method unchecked_read_multiple_blocks (line 127) | fn unchecked_read_multiple_blocks(&self, _block_number: u16, _num_block_... FILE: src/pool/disk/pool_disk/pool_disk_struct.rs type PoolDisk (line 9) | pub struct PoolDisk { FILE: src/pool/disk/standard_disk/block/directory/directory_methods.rs method from (line 33) | fn from(block: RawBlock) -> Self { method to_block (line 42) | pub fn to_block(&self) -> RawBlock { method from_block (line 45) | pub fn from_block(block: &RawBlock) -> Self { method try_add_item (line 52) | pub fn try_add_item(&mut self, item: &DirectoryItem) -> Result<(), Block... method try_remove_item (line 60) | pub(in super::super) fn try_remove_item( method new (line 74) | pub fn new(origin: DiskPointer) -> Self { method get_items (line 81) | pub fn get_items(&self) -> Vec { method is_empty (line 86) | pub fn is_empty(&self) -> Result { function directory_block_try_remove_item (line 93) | fn directory_block_try_remove_item( function directory_block_try_add_item (line 117) | fn directory_block_try_add_item( function new_directory_block (line 145) | fn new_directory_block(origin: DiskPointer) -> DirectoryBlock { function directory_block_to_bytes (line 177) | fn directory_block_to_bytes(block: &DirectoryBlock) -> RawBlock { function directory_block_from_bytes (line 213) | fn directory_block_from_bytes(block: &RawBlock) -> DirectoryBlock { method item_bytes_from_vec (line 242) | fn item_bytes_from_vec(&self, destination_disk: u16) -> [u8; 501] { method item_vec_from_bytes (line 258) | fn item_vec_from_bytes(bytes: &[u8], origin_disk: u16) -> Vec Vec { method from_bytes (line 314) | pub(super) fn from_bytes(bytes: &[u8], origin_disk: u16) -> (u8, Self) { method get_size (line 348) | pub(crate) fn get_size(&self) -> Result { method get_created_time (line 387) | pub(crate) fn get_created_time(&self) -> Result Result Result Self { method get_random (line 134) | fn get_random() -> Self { function get_random_name (line 150) | fn get_random_name() -> String { FILE: src/pool/disk/standard_disk/block/file_extents/file_extents_methods.rs constant DATA_BLOCK_OVERHEAD (line 5) | pub(crate) const DATA_BLOCK_OVERHEAD: u64 = 5; method from (line 30) | fn from(value: RawBlock) -> FileExtentBlock { method extents_to_bytes (line 37) | pub(super) fn extents_to_bytes(&self, destination_disk_number: u16) -> V... method from_block (line 41) | pub(crate) fn from_block(block: &RawBlock) -> Self { method to_block (line 49) | pub(crate) fn to_block(&self) -> RawBlock { method add_extent (line 58) | pub(crate) fn add_extent(&mut self, extent: FileExtent) -> Result<(), Bl... method new (line 69) | pub(crate) fn new(block_origin: DiskPointer) -> Self { method get_extents (line 85) | pub(crate) fn get_extents(&self) -> Vec { method force_replace_all_extents (line 123) | pub(in super::super::super::block) fn force_replace_all_extents(&mut sel... function extent_block_add_extent (line 166) | fn extent_block_add_extent( function from_bytes (line 205) | fn from_bytes(block: &RawBlock) -> FileExtentBlock { function to_block (line 232) | fn to_block(extent_block: &FileExtentBlock) -> RawBlock { function extents_to_bytes (line 272) | fn extents_to_bytes(extents: &[FileExtent], destination_disk_number: u16... function bytes_to_extents (line 287) | fn bytes_to_extents(bytes: &[u8], origin_disk_number: u16) -> Vec Vec { method from_bytes (line 365) | pub(super) fn from_bytes(bytes: &[u8], origin_disk_number: u16) -> (u8, ... method get_pointers (line 415) | pub(crate) fn get_pointers(&self) -> Vec { method new (line 428) | pub(crate) fn new(start_block: DiskPointer, length: u8) -> Self { method default (line 440) | pub fn default() -> Self { FILE: src/pool/disk/standard_disk/block/file_extents/file_extents_struct.rs type FileExtent (line 12) | pub struct FileExtent { type FileExtentBlock (line 37) | pub struct FileExtentBlock { FILE: src/pool/disk/standard_disk/block/file_extents/tests.rs function random_extents_serialization (line 19) | fn random_extents_serialization() { function empty_extent_block_serialization (line 35) | fn empty_extent_block_serialization() { function full_extent_block (line 47) | fn full_extent_block() { function random_block_serialization (line 74) | fn random_block_serialization() { method get_random (line 92) | fn get_random(block_origin: DiskPointer) -> Self { method random (line 116) | fn random() -> Self { method new (line 134) | fn new() -> Self { FILE: src/pool/disk/standard_disk/block/header/header_methods.rs method from_block (line 11) | pub fn from_block(raw_block: &RawBlock) -> StandardDiskHeader { method to_block (line 14) | pub fn to_block(&self) -> RawBlock { method from (line 21) | fn from(value: RawBlock) -> Self { function extract_header (line 29) | fn extract_header(raw_block: &RawBlock) -> StandardDiskHeader { function to_disk_block (line 52) | fn to_disk_block(header: &StandardDiskHeader) -> RawBlock { FILE: src/pool/disk/standard_disk/block/header/header_struct.rs type StandardDiskHeader (line 8) | pub struct StandardDiskHeader { FILE: src/pool/disk/standard_disk/block/inode/inode_methods.rs method from (line 32) | fn from(value: RawBlock) -> Self { method to_bytes (line 39) | fn to_bytes(&self) -> Vec { method from_bytes (line 43) | fn from_bytes(bytes: &[u8]) -> Self { method to_block (line 49) | pub fn to_block(&self) -> RawBlock { method from_block (line 52) | pub fn from_block(block: &RawBlock) -> Self { method new (line 60) | pub fn new(block_origin: DiskPointer) -> Self { method try_add_inode (line 69) | pub fn try_add_inode(&mut self, inode: Inode) -> Result Result<(), Bloc... method try_read_inode (line 85) | pub fn try_read_inode(&self, inode_offset: u16) -> Result Result... function inode_block_try_remove_inode (line 150) | fn inode_block_try_remove_inode( function inode_block_try_add_inode (line 203) | fn inode_block_try_add_inode( function new_inode_block (line 241) | fn new_inode_block(block_origin: DiskPointer) -> InodeBlock { function from_raw_block (line 269) | fn from_raw_block(block: &RawBlock) -> InodeBlock { function to_raw_bytes (line 296) | fn to_raw_bytes(block: &InodeBlock) -> RawBlock { method as_bytes (line 336) | pub(super) fn as_bytes(&self) -> Vec { method from_bytes (line 367) | pub(super) fn from_bytes(bytes: &[u8]) -> Self { method as_bytes (line 428) | fn as_bytes(&self) -> [u8; 12] { method from_bytes (line 434) | fn from_bytes(bytes: [u8; 12]) -> Self { method as_bytes (line 443) | fn as_bytes(&self) -> [u8; 4] { method from_bytes (line 446) | fn from_bytes(bytes: [u8; 4]) -> Self { method from_disk_pointer (line 452) | pub fn from_disk_pointer(pointer: DiskPointer) -> Self { method to_bytes (line 458) | pub(super) fn to_bytes(self) -> [u8; 12] { method from_bytes (line 464) | pub(super) fn from_bytes(bytes: [u8; 12]) -> Self { method now (line 471) | pub fn now() -> Self { method as_bytes (line 492) | pub fn as_bytes(&self, destination_disk: u16) -> Vec { method from_bytes (line 533) | pub fn from_bytes(bytes: &[u8], origin_disk: u16) -> (u8, Self) { method new (line 582) | pub(crate) fn new(pointer: DiskPointer, offset: u16) -> Self { method next_block (line 595) | pub fn next_block(&self) -> Option { method new (line 610) | pub fn new(disk_pointer: DiskPointer) -> Self { method get_size (line 617) | pub fn get_size(&self) -> u64 { method set_size (line 623) | pub fn set_size(&mut self, size: u64) { method extract_file (line 631) | pub fn extract_file(&self) -> Option { method extract_directory (line 634) | pub fn extract_directory(&self) -> Option { method from (line 649) | fn from(value: InodeTimestamp) -> Self { method extract (line 667) | pub(super) fn extract(&self) -> (PackedInodeLocationFlags, u16) { method new (line 687) | fn new(flags: PackedInodeLocationFlags, offset: u16) -> Self { method from_u16 (line 698) | pub(super) fn from_u16(incoming: u16) -> Self { FILE: src/pool/disk/standard_disk/block/inode/inode_struct.rs type Inode (line 12) | pub(crate) struct Inode { type InodeFile (line 21) | pub struct InodeFile { type InodeDirectory (line 29) | pub(crate) struct InodeDirectory { type InodeTimestamp (line 36) | pub struct InodeTimestamp { type InodeLocation (line 43) | pub struct InodeLocation { type InodeOffsetPacking (line 64) | pub(super) struct InodeOffsetPacking { type InodeBlock (line 88) | pub struct InodeBlock { FILE: src/pool/disk/standard_disk/block/inode/tests.rs function blank_inode_block_serialization (line 22) | fn blank_inode_block_serialization() { function fill_inode_block (line 35) | fn fill_inode_block() { function filled_inode_block_serialization (line 65) | fn filled_inode_block_serialization() { function add_and_read_inode (line 90) | fn add_and_read_inode() { function inode_location_consistency (line 106) | fn inode_location_consistency() { function inode_correct_sizes (line 118) | fn inode_correct_sizes() { function inode_consistent_serialization (line 133) | fn inode_consistent_serialization() { function timestamp_consistent_serialization (line 153) | fn timestamp_consistent_serialization() { method get_random (line 176) | pub(crate) fn get_random() -> Self { method get_random (line 205) | pub(crate) fn get_random() -> Self { method get_random (line 216) | pub(crate) fn get_random() -> Self { method get_random (line 228) | pub(crate) fn get_random() -> Self { method get_random (line 245) | pub(crate) fn get_random() -> Self { FILE: src/pool/disk/standard_disk/block/io/directory/movement.rs method change_directory (line 41) | pub fn change_directory( method try_find_directory (line 110) | pub(crate) fn try_find_directory(maybe_path: Option<&Path>) -> Result Result, DriveError> { method get_size (line 86) | pub fn get_size(&self) -> Result { method is_root (line 115) | fn is_root(&self) -> bool { method find_and_extract_item (line 137) | pub(crate) fn find_and_extract_item(&mut self, item_to_find: &NamedItem)... method block_extract_item (line 246) | fn block_extract_item(&mut self, item_to_find: &NamedItem) -> Result Result Result<(), ()> { function get_filesystem (line 237) | pub fn get_filesystem() -> FlusterFS { function get_new_temp_dir (line 246) | pub fn get_new_temp_dir() -> TempDir { FILE: src/pool/disk/standard_disk/block/io/directory/types.rs type NamedItem (line 9) | pub(crate) enum NamedItem { method debug_strings (line 16) | pub fn debug_strings(&self) -> (&'static str, &String) { method find_in (line 24) | pub fn find_in(&self, to_search: &[DirectoryItem]) -> Option bool { method from (line 46) | fn from(value: DirectoryItem) -> Self { FILE: src/pool/disk/standard_disk/block/io/directory/write.rs method add_item (line 36) | pub fn add_item( method make_directory (line 51) | pub fn make_directory( method delete_self (line 71) | pub fn delete_self(self, self_item: DirectoryItem) -> Result<(), DriveEr... function go_make_directory (line 115) | fn go_make_directory( function go_make_new_directory_block (line 188) | fn go_make_new_directory_block() -> Result { function go_add_item (line 203) | fn go_add_item( function go_find_next_or_extend_block (line 265) | fn go_find_next_or_extend_block( FILE: src/pool/disk/standard_disk/block/io/file/movement.rs method byte_finder (line 26) | pub(super) fn byte_finder(byte_offset: u64) -> (usize, u16) { method get_inode (line 47) | pub(crate) fn get_inode(&self) -> Result { FILE: src/pool/disk/standard_disk/block/io/file/read.rs method as_pointers (line 37) | pub(super) fn as_pointers(&self) -> Result, DriveError> { method as_extents (line 41) | pub(super) fn as_extents(&self) -> Result, DriveError> { method get_root_block (line 46) | fn get_root_block(&self) -> Result { method read (line 50) | fn read(&self, seek_point: u64, size: u32) -> Result, DriveError> { method read_file (line 68) | pub fn read_file(&self, seek_point: u64, size: u32) -> Result, D... function go_to_pointers (line 100) | fn go_to_pointers(location: &InodeFile) -> Result, Driv... function go_to_extents (line 124) | fn go_to_extents( function go_get_root_block (line 163) | fn go_get_root_block(file: &InodeFile) -> Result Result<... function read_bytes_from_block (line 241) | fn read_bytes_from_block(buffer: &mut [u8], buffer_offset: usize, block:... FILE: src/pool/disk/standard_disk/block/io/file/tests.rs function create_blank (line 11) | fn create_blank() { function write_small_file (line 24) | fn write_small_file() { function write_big_file (line 49) | fn write_big_file() { function make_lots_of_files (line 77) | fn make_lots_of_files() { function make_lots_of_filled_files (line 91) | fn make_lots_of_filled_files() { function write_and_read_small (line 118) | fn write_and_read_small() { function write_and_read_large (line 156) | fn write_and_read_large() { function read_and_write_random_files (line 198) | fn read_and_write_random_files() { function check_byte_vec_equality (line 247) | fn check_byte_vec_equality(a: &[u8], b: &[u8]) { FILE: src/pool/disk/standard_disk/block/io/file/write.rs method write (line 61) | fn write(&mut self, bytes: &[u8], seek_point: u64) -> Result Result Result, Dri... method write_file (line 131) | pub fn write_file(&self, bytes: &[u8], seek_point: u64) -> Result Result<(), DriveError> { function go_write (line 201) | fn go_write(inode_file: &mut InodeFile, bytes: &[u8], seek_point: u64) -... function update_block (line 301) | fn update_block(block: DiskPointer, bytes: &[u8], offset: u16) -> Result... function expand_file (line 362) | fn expand_file(inode_file: InodeFile, blocks: u16) -> Result Result<(), DriveE... function expanding_add_extents (line 409) | fn expanding_add_extents(file: InodeFile, extents: &[FileExtent]) -> Res... function pointers_into_extents (line 481) | fn pointers_into_extents(pointers: &[DiskPointer]) -> Vec { function go_make_new_file (line 531) | fn go_make_new_file(directory_block: &mut DirectoryBlock, name: String) ... function truncate_or_delete_file (line 604) | fn truncate_or_delete_file(item: &DirectoryItem, delete: bool, new_size:... function truncate_cleanup (line 1094) | fn truncate_cleanup(pre_collected: Vec, next_extent_block: ... function flush_to_disk (line 1183) | fn flush_to_disk(block: &FileExtentBlock) -> Result<(), DriveError> { FILE: src/pool/disk/standard_disk/block/io/inode/tests.rs function add_inode (line 24) | fn add_inode() { function add_many_inode (line 32) | fn add_many_inode() { function get_filesystem (line 40) | fn get_filesystem() -> FlusterFS { function get_new_temp_dir (line 52) | fn get_new_temp_dir() -> TempDir { FILE: src/pool/disk/standard_disk/block/io/inode/write.rs method fast_add_inode (line 65) | pub fn fast_add_inode(inode: Inode) -> Result { method add_inode (line 98) | pub fn add_inode(inode: Inode) -> Result { function go_add_inode (line 122) | fn go_add_inode(inode: Inode, start_block: InodeBlock) -> Result Result Result { FILE: src/pool/disk/standard_disk/standard_disk_methods.rs method bootstrap (line 64) | fn bootstrap(file: File, disk_number: u16) -> Result Self { method get_allocation_table (line 188) | fn get_allocation_table(&self) -> &[u8] { method set_allocation_table (line 192) | fn set_allocation_table(&mut self, new_table: &[u8]) -> Result<(), Drive... method spoof (line 209) | fn spoof() -> Self { function create (line 228) | fn create(file: File, disk_number: u16) -> Result Res... method unchecked_read_block (line 302) | fn unchecked_read_block(&self, block_number: u16) -> Result Result<(), Driv... method unchecked_write_large (line 314) | fn unchecked_write_large(&mut self, data:Vec, start_block:DiskPointe... method disk_file (line 319) | fn disk_file(self) -> File { method get_disk_number (line 324) | fn get_disk_number(&self) -> u16 { method set_disk_number (line 329) | fn set_disk_number(&mut self, disk_number: u16) { method disk_file_mut (line 334) | fn disk_file_mut(&mut self) -> &mut File { method flush (line 340) | fn flush(&mut self) -> Result<(), DriveError> { method unchecked_read_multiple_blocks (line 347) | fn unchecked_read_multiple_blocks(&self, block_number: u16, num_block_to... FILE: src/pool/disk/standard_disk/standard_disk_struct.rs type StandardDisk (line 9) | pub struct StandardDisk { FILE: src/pool/disk/unknown_disk/unknown_disk_methods.rs method unchecked_read_block (line 22) | fn unchecked_read_block(&self, _block_number: u16) -> Result Result<(), Driv... method disk_file (line 34) | fn disk_file(self) -> File { method get_disk_number (line 39) | fn get_disk_number(&self) -> u16 { method set_disk_number (line 45) | fn set_disk_number(&mut self, _disk_number: u16) { method disk_file_mut (line 52) | fn disk_file_mut(&mut self) -> &mut File { method flush (line 57) | fn flush(&mut self) -> Result<(), DriveError> { method unchecked_write_large (line 64) | fn unchecked_write_large(&mut self, _data: Vec, _start_block: DiskPo... method unchecked_read_multiple_blocks (line 70) | fn unchecked_read_multiple_blocks(&self, _block_number: u16, _num_block_... method new (line 76) | pub fn new(file: File) -> Self { method get_allocation_table (line 83) | fn get_allocation_table(&self) -> &[u8] { method set_allocation_table (line 89) | fn set_allocation_table(&mut self, _new_table: &[u8]) -> Result<(), Driv... FILE: src/pool/disk/unknown_disk/unknown_disk_struct.rs type UnknownDisk (line 5) | pub struct UnknownDisk { FILE: src/pool/io/allocate.rs method find_and_allocate_pool_blocks (line 75) | pub fn find_and_allocate_pool_blocks(blocks: u16, add_crc: bool) -> Resu... method free_pool_block_from_disk (line 91) | pub fn free_pool_block_from_disk(blocks: &[DiskPointer]) -> Result Result, disk: u16) -> Vec Result<(), DriveError> { function go_deallocate_pool_block (line 281) | fn go_deallocate_pool_block(blocks: &[DiskPointer]) -> Result Result<(), DriveError> { method load (line 37) | pub fn load() -> Arc> { method new_disk (line 42) | pub fn new_disk() -> Result { method initalize (line 46) | fn initalize() -> Result<(), DriveError> { method get_root_directory (line 52) | pub fn get_root_directory() -> Result { method get_root_directory_item (line 56) | pub fn get_root_directory_item() -> DirectoryItem { function flush_pool (line 62) | pub(super) fn flush_pool() -> Result<(), DriveError> { function load (line 88) | pub(super) fn load() -> Arc> { function initalize_pool (line 176) | fn initalize_pool() -> Result<(), DriveError> { function add_disk (line 195) | fn add_disk() -> Result { function pool_get_root_directory (line 260) | fn pool_get_root_directory() -> Result { function pool_get_root_inode_location (line 278) | fn pool_get_root_inode_location() -> InodeLocation { function pool_get_root_directory_item (line 287) | fn pool_get_root_directory_item() -> DirectoryItem { FILE: src/pool/pool_actions/pool_struct.rs type Pool (line 24) | pub struct Pool { FILE: src/tui/layout.rs type FlusterTUI (line 52) | pub struct FlusterTUI<'a> { function draw (line 69) | pub fn draw(&mut self, frame: &mut Frame) { function pop_up_handler (line 314) | fn pop_up_handler(frame: &mut Frame, incoming_pop_up: &mut Option TaskHandle { method complete_task_step (line 190) | pub(crate) fn complete_task_step(_handle: &TaskHandle) { method complete_multiple_task_steps (line 206) | pub(crate) fn complete_multiple_task_steps(_handle: &TaskHandle, steps... method add_steps_to_task (line 222) | pub(crate) fn add_steps_to_task(_handle: &TaskHandle, steps: u64) { method finish_task (line 238) | pub(crate) fn finish_task(mut handle: TaskHandle) { method cancel_task (line 260) | pub(crate) fn cancel_task(mut handle: TaskHandle) { method force_cancel_task (line 281) | pub(super) fn force_cancel_task() { FILE: src/tui/prompts.rs type TuiPrompt (line 18) | pub(crate) struct TuiPrompt<'a> { function prompt_enter (line 51) | pub(crate) fn prompt_enter(title: String, content: String, flash: bool) { function prompt_input (line 94) | pub(crate) fn prompt_input(title: String, content: String, flash: bool) ... function prompt_wait_for_disk_swap (line 144) | pub(crate) fn prompt_wait_for_disk_swap(title: String, content: String, ... function get_block_device_size (line 292) | fn get_block_device_size(path: &Path) -> Result { function disabled_prompt_enter (line 350) | fn disabled_prompt_enter(prompt: TuiPrompt) { function disabled_prompt_input (line 355) | fn disabled_prompt_input(_prompt: TuiPrompt) -> String { FILE: src/tui/state.rs type FlusterTUIState (line 8) | pub(super) struct FlusterTUIState { method new (line 55) | pub(super) fn new() -> Self { FILE: src/tui/tasks.rs type ProgressableTask (line 21) | pub(crate) struct ProgressableTask { method new (line 241) | pub(super) fn new(task_type: TaskType, steps: u64) -> ProgressableTask { method add_work (line 251) | pub(super) fn add_work(&mut self, steps_to_add: u64) { method finish_steps (line 263) | pub(super) fn finish_steps(&mut self, steps: u64) { method add_sub_task (line 277) | pub(super) fn add_sub_task(&mut self, new_sub_task: ProgressableTask) { method finish_task (line 296) | pub(super) fn finish_task(mut self) -> Option { method cancel_task (line 317) | pub(super) fn cancel_task(mut self) -> Option { method get_tasks_info (line 331) | pub(super) fn get_tasks_info(&self) -> Vec { type TaskInfo (line 31) | pub(super) struct TaskInfo { method new (line 137) | fn new(task_type: TaskType, steps: u64) -> TaskInfo { method name (line 147) | pub(super) fn name(&self) -> String { method progress (line 210) | pub(super) fn progress(&self) -> f64 { method time_passed (line 215) | pub(super) fn time_passed(&self) -> String { method time_remaining (line 223) | pub(super) fn time_remaining(&self) -> String { type TaskType (line 44) | pub(crate) enum TaskType { type TaskHandle (line 96) | pub(crate) struct TaskHandle { method new (line 125) | pub(super) fn new() -> Self { method drop (line 111) | fn drop(&mut self) { FILE: src/tui/tui_struct.rs function new (line 12) | pub(super) fn new() -> Self { FILE: tests/directory.rs function create_directory (line 25) | fn create_directory() { function enter_and_list_directory (line 115) | fn enter_and_list_directory() { function check_for_dot (line 166) | fn check_for_dot() { function move_empty_directory (line 219) | fn move_empty_directory() { function directory_creation_and_removal (line 261) | fn directory_creation_and_removal() { function rename_lots_of_items (line 300) | fn rename_lots_of_items() { function rename_burn_in (line 459) | fn rename_burn_in() { FILE: tests/file.rs function make_file_small (line 12) | fn make_file_small() { function make_file_large (line 53) | fn make_file_large() { function make_and_read_file_small (line 97) | fn make_and_read_file_small() { function make_and_read_file_large (line 151) | fn make_and_read_file_large() { function move_file (line 208) | fn move_file() { function delete_file (line 253) | fn delete_file() { function update_file_small (line 297) | fn update_file_small() { function update_file_large (line 384) | fn update_file_large() { FILE: tests/mount_filesystem.rs function mount_filesystem (line 9) | fn mount_filesystem() { FILE: tests/start_filesystem.rs function filesystem_starts (line 6) | fn filesystem_starts() { FILE: tests/test_common.rs function get_new_temp_dir (line 13) | pub fn get_new_temp_dir() -> TempDir { function get_actually_temp_dir (line 25) | pub fn get_actually_temp_dir() -> TempDir { function start_filesystem (line 31) | pub fn start_filesystem() -> FuseMT { function unmount (line 43) | pub fn unmount(mount_point: PathBuf) { function test_mount_options (line 52) | pub fn test_mount_options() -> Vec<&'static OsStr> {