Skip to main content

AdminClient

Struct AdminClient 

Source
pub struct AdminClient { /* private fields */ }
Expand description

A connected admin client. Sends AdminRequestKind requests and awaits the matching AdminResponseBody.

Implementations§

Source§

impl AdminClient

Source

pub async fn connect(caller: PrincipalId) -> Result<Self>

Connect to the running daemon, authenticate via the existing handshake, and bind the client to caller. Every outbound request stamps IpcMessage.principal = caller so the kernel’s resolve_caller reads it for Layer 5/6 capability checks.

§Errors

Returns an error if the socket file is missing (no daemon), connection fails, or the handshake is rejected.

Source

pub const fn with_timeout(self, timeout: Duration) -> Self

Override the response read timeout. Used by tests.

Source

pub const fn caller(&self) -> &PrincipalId

Borrow the principal this client stamps on outbound messages.

Source

pub async fn request( &mut self, kind: AdminRequestKind, ) -> Result<AdminResponseBody>

Send an admin request and await the matching response.

The request_id is generated as a fresh UUID v4 and echoed back on the response. Messages with a different topic or a non-matching request_id are dropped while we wait.

§Errors

Returns an error if the request fails to serialize, the send fails, the response is not received within the timeout, or the connection drops before a matching response arrives.

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> 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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