pub enum KernelObject {
File(Arc<dyn FileObject>),
Pipe(Arc<dyn PipeObject>),
}
Expand description
Unified representation of all kernel-managed resources
Variants§
File(Arc<dyn FileObject>)
Pipe(Arc<dyn PipeObject>)
Implementations§
Source§impl KernelObject
impl KernelObject
Sourcepub fn from_file_object(file_object: Arc<dyn FileObject>) -> Self
pub fn from_file_object(file_object: Arc<dyn FileObject>) -> Self
Create a KernelObject from a FileObject
Sourcepub fn from_pipe_object(pipe_object: Arc<dyn PipeObject>) -> Self
pub fn from_pipe_object(pipe_object: Arc<dyn PipeObject>) -> Self
Create a KernelObject from a PipeObject
Sourcepub fn as_file(&self) -> Option<&dyn FileObject>
pub fn as_file(&self) -> Option<&dyn FileObject>
Try to get FileObject that provides file-like operations and stream capabilities
Sourcepub fn as_pipe(&self) -> Option<&dyn PipeObject>
pub fn as_pipe(&self) -> Option<&dyn PipeObject>
Try to get PipeObject that provides pipe-specific operations
Sourcepub fn as_cloneable(&self) -> Option<&dyn CloneOps>
pub fn as_cloneable(&self) -> Option<&dyn CloneOps>
Try to get CloneOps capability
Trait Implementations§
Source§impl Clone for KernelObject
impl Clone for KernelObject
Auto Trait Implementations§
impl Freeze for KernelObject
impl !RefUnwindSafe for KernelObject
impl Send for KernelObject
impl Sync for KernelObject
impl Unpin for KernelObject
impl !UnwindSafe for KernelObject
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)