Struct breadx::NameConnection
source · [−]pub struct NameConnection { /* private fields */ }
Expand description
A connection that can be derived from a parsed display name.
This is the primary Connection
type that is used in breadx
, as it
represents the most common byte streams that are used to connect to the
X11 server on modern OS. The display name, usually stored in the DISPLAY
environment variable, is parsed and the connection is created from the parsed
information.
This is a wrapper around either StdConnection<TcpStream>
or, if on Unix,
SendmsgConnection
.
Implementations
sourceimpl NameConnection
impl NameConnection
sourcepub fn new(name: Option<&str>) -> Result<Self>
pub fn new(name: Option<&str>) -> Result<Self>
Creates a new connection from a display name.
Blocking
This function blocks while it tries to connect to the server. Use the
[new_async
] function if you would like a non-blocking variant.
sourcepub fn from_parsed_display(
parsed_display: &ParsedDisplay,
is_env: bool
) -> Result<Self>
pub fn from_parsed_display(
parsed_display: &ParsedDisplay,
is_env: bool
) -> Result<Self>
Creates a new connection from an already parsed display name.
Blocking
This function blocks while it tries to connect to the server. Use the
[from_parsed_display_async
] function if you would like a non-blocking variant.
sourcepub fn get_address(&self) -> Result<(Family, Vec<u8>)>
pub fn get_address(&self) -> Result<(Family, Vec<u8>)>
Get the peer address and family used in this connection.
This is useful, since the xauth
interface requires the family and
address to be known.
sourcepub fn take_error(&self) -> Option<Error>
pub fn take_error(&self) -> Option<Error>
If there is an error associated with this socket, take it.
sourceimpl NameConnection
impl NameConnection
sourcepub fn from_parsed_display_async<'a, Fut, R: 'a>(
parsed_display: &'a ParsedDisplay,
is_env: bool,
resolv: impl FnMut(NameConnection) -> Fut + 'a
) -> impl Future<Output = Result<R>> + 'a where
Fut: Future<Output = Result<R>> + 'a,
pub fn from_parsed_display_async<'a, Fut, R: 'a>(
parsed_display: &'a ParsedDisplay,
is_env: bool,
resolv: impl FnMut(NameConnection) -> Fut + 'a
) -> impl Future<Output = Result<R>> + 'a where
Fut: Future<Output = Result<R>> + 'a,
Create a NameConnection
in a non-blocking manner.
This function does not block, and will select the first connection
that is available. The resolv
parameter should poll the connection
until it is writable using the currently availably runtime.
Trait Implementations
sourceimpl AsRawFd for NameConnection
impl AsRawFd for NameConnection
sourceimpl Connection for NameConnection
impl Connection for NameConnection
sourcefn send_slices_and_fds(
&mut self,
slices: &[IoSlice<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
fn send_slices_and_fds(
&mut self,
slices: &[IoSlice<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
Write a series of I/O slices and a series of file descriptors to the X11 server. Read more
sourcefn recv_slices_and_fds(
&mut self,
slices: &mut [IoSliceMut<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
fn recv_slices_and_fds(
&mut self,
slices: &mut [IoSliceMut<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
Read data to a series of I/O slices and a buffer for file descriptors. Read more
sourcefn send_slices(&mut self, slices: &[IoSlice<'_>]) -> Result<usize>
fn send_slices(&mut self, slices: &[IoSlice<'_>]) -> Result<usize>
Write a series of I/O slices to the X11 server. Read more
sourcefn send_slice(&mut self, slice: &[u8]) -> Result<usize>
fn send_slice(&mut self, slice: &[u8]) -> Result<usize>
Write a slice of data to the X11 server. Read more
sourcefn recv_slice_and_fds(
&mut self,
slice: &mut [u8],
fds: &mut Vec<Fd>
) -> Result<usize>
fn recv_slice_and_fds(
&mut self,
slice: &mut [u8],
fds: &mut Vec<Fd>
) -> Result<usize>
Read data to a single I/O slice and a buffer for file descriptors. Read more
sourcefn recv_slice(&mut self, slice: &mut [u8]) -> Result<usize>
fn recv_slice(&mut self, slice: &mut [u8]) -> Result<usize>
Read data for a single I/O slice. Read more
sourcefn non_blocking_recv_slice_and_fds(
&mut self,
slice: &mut [u8],
fds: &mut Vec<Fd>
) -> Result<usize>
fn non_blocking_recv_slice_and_fds(
&mut self,
slice: &mut [u8],
fds: &mut Vec<Fd>
) -> Result<usize>
Receive data from the X11 server into a single slice, in a non-blocking manner. Read more
sourcefn non_blocking_recv_slices_and_fds(
&mut self,
slices: &mut [IoSliceMut<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
fn non_blocking_recv_slices_and_fds(
&mut self,
slices: &mut [IoSliceMut<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
Receive data from the X11 server into a set of I/O slices, in a non-blocking manner. Read more
sourceimpl Connection for &NameConnection
impl Connection for &NameConnection
sourcefn send_slices_and_fds(
&mut self,
slices: &[IoSlice<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
fn send_slices_and_fds(
&mut self,
slices: &[IoSlice<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
Write a series of I/O slices and a series of file descriptors to the X11 server. Read more
sourcefn recv_slices_and_fds(
&mut self,
slices: &mut [IoSliceMut<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
fn recv_slices_and_fds(
&mut self,
slices: &mut [IoSliceMut<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
Read data to a series of I/O slices and a buffer for file descriptors. Read more
sourcefn send_slices(&mut self, slices: &[IoSlice<'_>]) -> Result<usize>
fn send_slices(&mut self, slices: &[IoSlice<'_>]) -> Result<usize>
Write a series of I/O slices to the X11 server. Read more
sourcefn send_slice(&mut self, slice: &[u8]) -> Result<usize>
fn send_slice(&mut self, slice: &[u8]) -> Result<usize>
Write a slice of data to the X11 server. Read more
sourcefn recv_slice_and_fds(
&mut self,
slice: &mut [u8],
fds: &mut Vec<Fd>
) -> Result<usize>
fn recv_slice_and_fds(
&mut self,
slice: &mut [u8],
fds: &mut Vec<Fd>
) -> Result<usize>
Read data to a single I/O slice and a buffer for file descriptors. Read more
sourcefn recv_slice(&mut self, slice: &mut [u8]) -> Result<usize>
fn recv_slice(&mut self, slice: &mut [u8]) -> Result<usize>
Read data for a single I/O slice. Read more
sourcefn non_blocking_recv_slice_and_fds(
&mut self,
slice: &mut [u8],
fds: &mut Vec<Fd>
) -> Result<usize>
fn non_blocking_recv_slice_and_fds(
&mut self,
slice: &mut [u8],
fds: &mut Vec<Fd>
) -> Result<usize>
Receive data from the X11 server into a single slice, in a non-blocking manner. Read more
sourcefn non_blocking_recv_slices_and_fds(
&mut self,
slices: &mut [IoSliceMut<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
fn non_blocking_recv_slices_and_fds(
&mut self,
slices: &mut [IoSliceMut<'_>],
fds: &mut Vec<Fd>
) -> Result<usize>
Receive data from the X11 server into a set of I/O slices, in a non-blocking manner. Read more
Auto Trait Implementations
impl RefUnwindSafe for NameConnection
impl Send for NameConnection
impl Sync for NameConnection
impl Unpin for NameConnection
impl UnwindSafe for NameConnection
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more