Struct 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§

Source§

impl NameConnection

Source

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.

Source

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.

Source

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.

Source

pub fn take_error(&self) -> Option<Error>

If there is an error associated with this socket, take it.

Source§

impl NameConnection

Source

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§

Source§

impl AsRawFd for NameConnection

Source§

fn as_raw_fd(&self) -> RawFd

Extracts the raw file descriptor. Read more
Source§

impl Connection for &NameConnection

Source§

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
Source§

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
Source§

fn send_slices(&mut self, slices: &[IoSlice<'_>]) -> Result<usize>

Write a series of I/O slices to the X11 server. Read more
Source§

fn send_slice(&mut self, slice: &[u8]) -> Result<usize>

Write a slice of data to the X11 server. Read more
Source§

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
Source§

fn recv_slice(&mut self, slice: &mut [u8]) -> Result<usize>

Read data for a single I/O slice. Read more
Source§

fn flush(&mut self) -> Result<()>

Flush all data in this connection’s buffer. Read more
Source§

fn shutdown(&self) -> Result<()>

Shutdown this connection. Read more
Source§

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
Source§

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
Source§

impl Connection for NameConnection

Source§

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
Source§

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
Source§

fn send_slices(&mut self, slices: &[IoSlice<'_>]) -> Result<usize>

Write a series of I/O slices to the X11 server. Read more
Source§

fn send_slice(&mut self, slice: &[u8]) -> Result<usize>

Write a slice of data to the X11 server. Read more
Source§

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
Source§

fn recv_slice(&mut self, slice: &mut [u8]) -> Result<usize>

Read data for a single I/O slice. Read more
Source§

fn flush(&mut self) -> Result<()>

Flush all data in this connection’s buffer. Read more
Source§

fn shutdown(&self) -> Result<()>

Shutdown this connection. Read more
Source§

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
Source§

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
Source§

impl Debug for NameConnection

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsRawFilelike for T
where T: AsRawFd,

Source§

fn as_raw_filelike(&self) -> i32

Returns the raw value.
Source§

impl<T> AsRawSocketlike for T
where T: AsRawFd,

Source§

fn as_raw_socketlike(&self) -> i32

Returns the raw value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more