pub struct DirHandler {
streams: FxHashMap<u64, OpenDir>,
next_id: u64,
}Fields§
§streams: FxHashMap<u64, OpenDir>Directory iterators used to emulate libc “directory streams”, as used in opendir, readdir, and closedir.
When opendir is called, a directory iterator is created on the host for the target directory, and an entry is stored in this hash map, indexed by an ID which represents the directory stream. When readdir is called, the directory stream ID is used to look up the corresponding ReadDir iterator from this map, and information from the next directory entry is returned. When closedir is called, the ReadDir iterator is removed from the map.
next_id: u64ID number to be used by the next call to opendir
Implementations§
source§impl DirHandler
impl DirHandler
fn insert_new(&mut self, read_dir: ReadDir) -> u64
Trait Implementations§
source§impl Debug for DirHandler
impl Debug for DirHandler
source§impl Default for DirHandler
impl Default for DirHandler
source§fn default() -> DirHandler
fn default() -> DirHandler
source§impl VisitProvenance for DirHandler
impl VisitProvenance for DirHandler
fn visit_provenance(&self, visit: &mut VisitWith<'_>)
Auto Trait Implementations§
impl !DynSend for DirHandler
impl !DynSync for DirHandler
impl Freeze for DirHandler
impl RefUnwindSafe for DirHandler
impl Send for DirHandler
impl Sync for DirHandler
impl Unpin for DirHandler
impl UnwindSafe for DirHandler
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
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
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: 40 bytes