pub struct UniqueFileIdentifier(/* private fields */);
Expand description
Unique file identifier type
This type is used to identify an opened file in the virtual file system.
It is used for the file identification between the virtual file system and the outside world.
It is similar to a file descriptor in Unix-like systems.
It is a wrapper around a tuple of FileSystemIdentifier
and FileIdentifier
.
It is unique from the virtual file system point of view.
§Example
use file_system::{Unique_file_identifier_type, File_identifier_type, File_system_identifier_type, Local_file_identifier_type};
use task::TaskIdentifier;
let Identifier = Unique_file_identifier_type::new(
File_system_identifier_type::from(0x1234),
File_identifier_type::from(0x5678),
);
let (File_system, File) = Identifier.Split();
assert_eq!(File_system, File_system_identifier_type::from(0x1234));
assert_eq!(File, File_identifier_type::from(0x5678));
let (File_system, Local_file) = Identifier.Into_local_file_identifier(TaskIdentifier::from(0x9ABC));
assert_eq!(File_system, File_system_identifier_type::from(0x1234));
assert_eq!(Local_file, Local_file_identifier_type::new(TaskIdentifier::from(0x9ABC), File_identifier_type::from(0x5678)));
Implementations§
Source§impl UniqueFileIdentifier
impl UniqueFileIdentifier
pub const fn new( file_system: FileSystemIdentifier, file: FileIdentifier, ) -> Self
pub const fn split(&self) -> (FileSystemIdentifier, FileIdentifier)
pub const fn into_local_file_identifier( self, task: TaskIdentifier, ) -> (FileSystemIdentifier, LocalFileIdentifier)
pub const fn into_inner(self) -> usize
Trait Implementations§
Source§impl Clone for UniqueFileIdentifier
impl Clone for UniqueFileIdentifier
Source§fn clone(&self) -> UniqueFileIdentifier
fn clone(&self) -> UniqueFileIdentifier
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for UniqueFileIdentifier
impl Debug for UniqueFileIdentifier
Source§impl From<UniqueFileIdentifier> for usize
impl From<UniqueFileIdentifier> for usize
Source§fn from(identifier: UniqueFileIdentifier) -> Self
fn from(identifier: UniqueFileIdentifier) -> Self
Converts to this type from the input type.
Source§impl From<usize> for UniqueFileIdentifier
impl From<usize> for UniqueFileIdentifier
Source§impl Hash for UniqueFileIdentifier
impl Hash for UniqueFileIdentifier
Source§impl Ord for UniqueFileIdentifier
impl Ord for UniqueFileIdentifier
Source§fn cmp(&self, other: &UniqueFileIdentifier) -> Ordering
fn cmp(&self, other: &UniqueFileIdentifier) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for UniqueFileIdentifier
impl PartialEq for UniqueFileIdentifier
Source§impl PartialOrd for UniqueFileIdentifier
impl PartialOrd for UniqueFileIdentifier
impl Copy for UniqueFileIdentifier
impl Eq for UniqueFileIdentifier
impl StructuralPartialEq for UniqueFileIdentifier
Auto Trait Implementations§
impl Freeze for UniqueFileIdentifier
impl RefUnwindSafe for UniqueFileIdentifier
impl Send for UniqueFileIdentifier
impl Sync for UniqueFileIdentifier
impl Unpin for UniqueFileIdentifier
impl UnwindSafe for UniqueFileIdentifier
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more