#[non_exhaustive]pub enum BrokerError {
AccessDenied,
LimitsExceeded,
InvalidArgs,
Failed,
Other,
}Expand description
The specific reason a privilege broker REFUSED a grant - the typed form of
the D-Bus error name it answered with, carried by AppliedPriority::broker_error
when reason is FallbackReason::BrokerRefused.
This is the actionable classification behind a refusal: branch on it to
decide whether to retry. We deliberately keep only the well-known names as
variants and collapse everything else to Other - the
name is the signal, the daemon’s free-text message is not worth a heap
allocation for the rare unmapped case (read the rtkit journal for that).
#[non_exhaustive]: brokers can grow error names; matching must carry a _.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
AccessDenied
Policy denied the grant - polkit, rlimits, or no active/seated login session (common over SSH). Treat as persistent for the current process and configuration; retry only after a privilege or session change.
LimitsExceeded
The broker’s rate limit was hit (rtkit caps actions per interval, e.g. 25 / 20 s / UID). Transient - back off and retry later, or elevate fewer threads.
InvalidArgs
The broker rejected the arguments (e.g. a priority out of its range). A bug on our side or a daemon-version skew, not a transient condition.
Failed
A generic daemon-side failure with no more specific name.
Other
An error name this version doesn’t map. The grant was refused; the specific cause is in the rtkit journal.
Trait Implementations§
Source§impl Clone for BrokerError
impl Clone for BrokerError
Source§fn clone(&self) -> BrokerError
fn clone(&self) -> BrokerError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BrokerError
Source§impl Debug for BrokerError
impl Debug for BrokerError
Source§impl Display for BrokerError
impl Display for BrokerError
impl Eq for BrokerError
Source§impl PartialEq for BrokerError
impl PartialEq for BrokerError
Source§fn eq(&self, other: &BrokerError) -> bool
fn eq(&self, other: &BrokerError) -> bool
self and other values to be equal, and is used by ==.