pub struct PipeEndpoint {
state: Arc<Mutex<PipeState>>,
can_read: bool,
can_write: bool,
id: String,
}
Expand description
A generic pipe endpoint
This represents the basic building block for all pipe types. It can be configured for read-only, write-only, or bidirectional access.
Fields§
§state: Arc<Mutex<PipeState>>
Shared pipe state
can_read: bool
Whether this endpoint can read
can_write: bool
Whether this endpoint can write
id: String
Unique identifier for debugging
Implementations§
Trait Implementations§
Source§impl Clone for PipeEndpoint
impl Clone for PipeEndpoint
Source§impl CloneOps for PipeEndpoint
impl CloneOps for PipeEndpoint
Source§fn custom_clone(&self) -> KernelObject
fn custom_clone(&self) -> KernelObject
Perform a custom clone operation and return the cloned object Read more
Source§impl Drop for PipeEndpoint
impl Drop for PipeEndpoint
Source§impl IpcObject for PipeEndpoint
impl IpcObject for PipeEndpoint
Source§fn is_connected(&self) -> bool
fn is_connected(&self) -> bool
Check if the IPC object is still connected/valid
Source§fn peer_count(&self) -> usize
fn peer_count(&self) -> usize
Get the number of active peers (readers/writers/endpoints)
Source§fn description(&self) -> String
fn description(&self) -> String
Get a human-readable description of this IPC object
Source§impl PipeObject for PipeEndpoint
impl PipeObject for PipeEndpoint
Source§fn has_readers(&self) -> bool
fn has_readers(&self) -> bool
Check if there are readers on the other end
Source§fn has_writers(&self) -> bool
fn has_writers(&self) -> bool
Check if there are writers on the other end
Source§fn buffer_size(&self) -> usize
fn buffer_size(&self) -> usize
Get the buffer size of the pipe
Source§fn available_bytes(&self) -> usize
fn available_bytes(&self) -> usize
Get the number of bytes currently in the pipe buffer
Source§fn is_readable(&self) -> bool
fn is_readable(&self) -> bool
Check if this end of the pipe is readable
Source§fn is_writable(&self) -> bool
fn is_writable(&self) -> bool
Check if this end of the pipe is writable
Source§impl StreamOps for PipeEndpoint
impl StreamOps for PipeEndpoint
Source§fn read(&self, buffer: &mut [u8]) -> Result<usize, StreamError>
fn read(&self, buffer: &mut [u8]) -> Result<usize, StreamError>
Read data from the stream
Source§fn write(&self, buffer: &[u8]) -> Result<usize, StreamError>
fn write(&self, buffer: &[u8]) -> Result<usize, StreamError>
Write data to the stream
Auto Trait Implementations§
impl Freeze for PipeEndpoint
impl !RefUnwindSafe for PipeEndpoint
impl Send for PipeEndpoint
impl Sync for PipeEndpoint
impl Unpin for PipeEndpoint
impl !UnwindSafe for PipeEndpoint
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
)