pub struct FdTable {
fds: BTreeMap<i32, FileDescriptionRef<dyn FileDescription>>,
next_file_description_id: FdId,
}Expand description
The file descriptor table
Fields§
§fds: BTreeMap<i32, FileDescriptionRef<dyn FileDescription>>§next_file_description_id: FdIdUnique identifier for file description, used to differentiate between various file description.
Implementations§
Source§impl FdTable
impl FdTable
fn new() -> Self
pub(crate) fn init(mute_stdout_stderr: bool) -> FdTable
pub fn new_ref<T: FileDescription>(&mut self, fd: T) -> FileDescriptionRef<T>
pub fn fd_num_valid(fd_num: i32) -> bool
Sourcepub fn insert_new(&mut self, fd: impl FileDescription) -> Option<i32>
pub fn insert_new(&mut self, fd: impl FileDescription) -> Option<i32>
Insert a new file description to the FdTable.
Sourcepub fn insert(
&mut self,
fd_ref: FileDescriptionRef<dyn FileDescription>,
) -> Option<i32>
pub fn insert( &mut self, fd_ref: FileDescriptionRef<dyn FileDescription>, ) -> Option<i32>
Insert an alias to an existing file description to the FdTable.
Sourcepub fn insert_with_min_num(
&mut self,
file_handle: FileDescriptionRef<dyn FileDescription>,
min_fd_num: i32,
) -> Option<i32>
pub fn insert_with_min_num( &mut self, file_handle: FileDescriptionRef<dyn FileDescription>, min_fd_num: i32, ) -> Option<i32>
Insert a file description, giving it a file descriptor that is at least min_fd_num.
pub fn get( &self, fd_num: i32, ) -> Option<FileDescriptionRef<dyn FileDescription>>
pub fn remove( &mut self, fd_num: i32, ) -> Option<FileDescriptionRef<dyn FileDescription>>
pub fn is_fd_num(&self, fd_num: i32) -> bool
Trait Implementations§
Source§impl VisitProvenance for FdTable
impl VisitProvenance for FdTable
fn visit_provenance(&self, _visit: &mut VisitWith<'_>)
Auto Trait Implementations§
impl !DynSend for FdTable
impl !DynSync for FdTable
impl !RefUnwindSafe for FdTable
impl !Send for FdTable
impl !Sync for FdTable
impl !UnwindSafe for FdTable
impl Forget for FdTable
impl Freeze for FdTable
impl Move for FdTable
impl Unpin for FdTable
impl UnsafeUnpin for FdTable
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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes