Struct fidl_fuchsia_net_dhcpv6::NewClientParams
source · pub struct NewClientParams {
pub interface_id: Option<u64>,
pub address: Option<Ipv6SocketAddress>,
pub config: Option<ClientConfig>,
/* private fields */
}
Fields§
§interface_id: Option<u64>
The ID of the interface the client will run on.
Required.
address: Option<Ipv6SocketAddress>
The socket address to use when communicating with servers.
DHCPv6 servers listen for link-local multicasts, so not using a link-local address here may cause interoperability issues.
Client creation will fail with INVALID_ARGS
if:
- a multicast address is provided;
- or a link-local address is provided, and its zone index
doesn’t match
interface_id
(Fuchsia has a 1:1 mapping from zone index to interface ID).
Client creation will fail if it fails to bind a socket to this address.
Required.
config: Option<ClientConfig>
Configuration for starting the DHCPv6 client.
If the configuration requests both addresses and other configuration parameters, all information is requested in the same message exchange, running in stateful mode. If only configuration parameters are requested (no addresses), the client runs in stateless mode, as described in RFC 8415, Section 6.1.
Client creation will fail if config
is not requesting any
information (all fields are empty), or if it contains invalid
fields.
Required.
Implementations§
Trait Implementations§
source§impl Clone for NewClientParams
impl Clone for NewClientParams
source§fn clone(&self) -> NewClientParams
fn clone(&self) -> NewClientParams
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for NewClientParams
impl Debug for NewClientParams
source§impl Decodable for NewClientParams
impl Decodable for NewClientParams
source§fn decode(&mut self, decoder: &mut Decoder<'_>, offset: usize) -> Result<()>
fn decode(&mut self, decoder: &mut Decoder<'_>, offset: usize) -> Result<()>
self
.
Callers must ensure that offset
is a multiple of
Layout::inline_align
, and that decoder.buf
has room for reading
Layout::inline_size
bytes at offset
. Read moresource§impl Encodable for NewClientParams
impl Encodable for NewClientParams
source§fn encode(
&mut self,
encoder: &mut Encoder<'_, '_>,
offset: usize,
recursion_depth: usize
) -> Result<()>
fn encode( &mut self, encoder: &mut Encoder<'_, '_>, offset: usize, recursion_depth: usize ) -> Result<()>
Handle::INVALID
. Callers must ensure that offset
is a
multiple of Layout::inline_align
, and that encoder.buf
has room for
writing Layout::inline_size
bytes at offset
. Read moresource§impl Layout for NewClientParams
impl Layout for NewClientParams
source§fn inline_align(_context: &Context) -> usize
fn inline_align(_context: &Context) -> usize
source§fn inline_size(_context: &Context) -> usize
fn inline_size(_context: &Context) -> usize
inline_align
.§fn supports_simple_copy() -> boolwhere
Self: Sized,
fn supports_simple_copy() -> boolwhere Self: Sized,
source§impl PartialEq<NewClientParams> for NewClientParams
impl PartialEq<NewClientParams> for NewClientParams
source§fn eq(&self, other: &NewClientParams) -> bool
fn eq(&self, other: &NewClientParams) -> bool
self
and other
values to be equal, and is used
by ==
.impl Persistable for NewClientParams
impl StructuralPartialEq for NewClientParams
impl TopLevel for NewClientParams
Auto Trait Implementations§
impl RefUnwindSafe for NewClientParams
impl Send for NewClientParams
impl Sync for NewClientParams
impl Unpin for NewClientParams
impl UnwindSafe for NewClientParams
Blanket Implementations§
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> LayoutObject for Twhere
T: Layout,
impl<T> LayoutObject for Twhere T: Layout,
§fn inline_align(&self, context: &Context) -> usize
fn inline_align(&self, context: &Context) -> usize
Layout::inline_align
.§fn inline_size(&self, context: &Context) -> usize
fn inline_size(&self, context: &Context) -> usize
Layout::inline_size
.