pub enum ClientRequest {
    WatchConfiguration {
        responder: ClientWatchConfigurationResponder,
    },
    Shutdown {
        control_handle: ClientControlHandle,
    },
}
Expand description

Provides methods to watch for discovered network configurations and control the DHCP client discovering them.

This protocol encodes the DHCP client’s lifetime in both directions; the DHCP client remains alive iff both ends of the protocol are open. That is:

  • Closing the client end causes the DHCP client to be destroyed.
  • Observing a closure of the server end indicates the DHCP client no longer exists.

Variants§

§

WatchConfiguration

Returns acquired DHCP configuration.

Yields a value whenever the client acquires new configuration. Notably, does not yield a value upon DHCP lease expiry; instead, expiry of the IP address is communicated via the AddressStateProvider (refer to documentation of fuchsia.net.interfaces.admin/AddressStateProvider for details). Non-address configuration does not expire, but is replaced by new configuration once a new DHCP lease is obtained.

It is invalid to call this method while a previous call is pending. Doing so causes the server end of the protocol to be closed.

  • response address the assigned address. If set, the client has acquired a new lease on an IP address. If not set, then either the client has not requested an IP address (in which case this Client instance has never yielded an address), or the client continues to hold a lease on a previously-acquired IP address (whose lifetime is updated via AddressStateProvider).
  • response dns_servers addresses of discovered DNS servers. If absent, must be interpreted as empty (the client’s configuration indicates no DNS servers, even if previously-yielded configuration included DNS servers).
  • response routers addresses of discovered routers on the client’s subnet, in descending order of preference according to the DHCP server. If absent, must be interpreted as empty (the client’s configuration indicates no routers, even if previously-yielded configuration included routers).
§

Shutdown

Instructs the client to shut down gracefully (releasing any DHCP lease currently held). When the client is finished shutting down, it yields the ClientExitReason::GRACEFUL_SHUTDOWN OnExit event.

Fields

§control_handle: ClientControlHandle

Implementations§

source§

impl ClientRequest

source

pub fn into_watch_configuration( self ) -> Option<ClientWatchConfigurationResponder>

source

pub fn into_shutdown(self) -> Option<ClientControlHandle>

source

pub fn method_name(&self) -> &'static str

Name of the method defined in FIDL

Trait Implementations§

source§

impl Debug for ClientRequest

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

impl<T> Encode<Ambiguous1> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T> Encode<Ambiguous2> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

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

§

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>,

§

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

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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