pub struct Builder<'a>(/* private fields */);
Expand description
A builder for zbus::blocking::Connection
.
Implementations§
Source§impl<'a> Builder<'a>
impl<'a> Builder<'a>
Sourcepub fn address<A>(address: A) -> Result<Self>
pub fn address<A>(address: A) -> Result<Self>
Create a builder for a connection that will use the given D-Bus bus address.
Sourcepub fn unix_stream(stream: UnixStream) -> Self
pub fn unix_stream(stream: UnixStream) -> Self
Create a builder for a connection that will use the given unix stream.
If the default async-io
feature is disabled, this method will expect a
tokio::net::UnixStream
argument.
Since tokio currently does not support Unix domain sockets on Windows, this method
is not available when the tokio
feature is enabled and building for Windows target.
Sourcepub fn tcp_stream(stream: TcpStream) -> Self
pub fn tcp_stream(stream: TcpStream) -> Self
Create a builder for a connection that will use the given TCP stream.
If the default async-io
feature is disabled, this method will expect a
tokio::net::TcpStream
argument.
Sourcepub fn authenticated_socket<S, G>(socket: S, guid: G) -> Result<Self>
pub fn authenticated_socket<S, G>(socket: S, guid: G) -> Result<Self>
Create a builder for a connection that will use the given pre-authenticated socket.
This is similar to Builder::socket
, except that the socket is either already
authenticated or does not require authentication.
Sourcepub fn socket<S: Into<BoxedSplit>>(socket: S) -> Self
pub fn socket<S: Into<BoxedSplit>>(socket: S) -> Self
Create a builder for a connection that will use the given socket.
Sourcepub fn auth_mechanism(self, auth_mechanism: AuthMechanism) -> Self
pub fn auth_mechanism(self, auth_mechanism: AuthMechanism) -> Self
Specify the mechanism to use during authentication.
Sourcepub fn max_queued(self, max: usize) -> Self
pub fn max_queued(self, max: usize) -> Self
Set the capacity of the main (unfiltered) queue.
Since typically you’d want to set this at instantiation time, you can set it through the builder.
§Example
let conn = connection::Builder::session()?
.max_queued(30)
.build()?;
assert_eq!(conn.max_queued(), 30);
// Do something useful with `conn`..
Sourcepub fn serve_at<P, I>(self, path: P, iface: I) -> Result<Self>
pub fn serve_at<P, I>(self, path: P, iface: I) -> Result<Self>
Register a D-Bus Interface
to be served at a given path.
This is similar to zbus::blocking::ObjectServer::at
, except that it allows you to have
your interfaces available immediately after the connection is established. Typically, this
is exactly what you’d want. Also in contrast to zbus::blocking::ObjectServer::at
, this
method will replace any previously added interface with the same name at the same path.
Sourcepub fn name<W>(self, well_known_name: W) -> Result<Self>
pub fn name<W>(self, well_known_name: W) -> Result<Self>
Register a well-known name for this connection on the bus.
This is similar to zbus::blocking::Connection::request_name
, except the name is
requested as part of the connection setup (Builder::build
), immediately after
interfaces registered (through Builder::serve_at
) are advertised. Typically
this is exactly what you want.
Sourcepub fn allow_name_replacements(self, allow_replacement: bool) -> Self
pub fn allow_name_replacements(self, allow_replacement: bool) -> Self
Whether the zbus::fdo::RequestNameFlags::AllowReplacement
flag will be set when
requesting names.
Sourcepub fn replace_existing_names(self, replace_existing: bool) -> Self
pub fn replace_existing_names(self, replace_existing: bool) -> Self
Whether the zbus::fdo::RequestNameFlags::ReplaceExisting
flag will be set when
requesting names.
Sourcepub fn build(self) -> Result<Connection>
pub fn build(self) -> Result<Connection>
Build the connection, consuming the builder.
§Errors
Until server-side bus connection is supported, attempting to build such a connection will
result in a Error::Unsupported
error.