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 */
}
Expand description
Parameters to start a new DHCPv6 client with.
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.
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 Decode<NewClientParams> for NewClientParams
impl Decode<NewClientParams> for NewClientParams
source§impl Default for NewClientParams
impl Default for NewClientParams
source§fn default() -> NewClientParams
fn default() -> NewClientParams
source§impl Encode<NewClientParams> for &NewClientParams
impl Encode<NewClientParams> for &NewClientParams
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 ==
.source§impl TypeMarker for NewClientParams
impl TypeMarker for NewClientParams
§type Owned = NewClientParams
type Owned = 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 encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.source§impl ValueTypeMarker for NewClientParams
impl ValueTypeMarker for NewClientParams
§type Borrowed<'a> = &'a NewClientParams
type Borrowed<'a> = &'a NewClientParams
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more