pub struct NewClientParams {
pub interface_id: Option<u64>,
pub address: Option<Ipv6SocketAddress>,
pub config: Option<ClientConfig>,
pub duid: Option<Duid>,
/* 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 or prefixes), 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.
duid: Option<Duid>
DHCP Unique Identifier (DUID) configuration.
The DUID is used by the client to identify itself to servers as defined in RFC 8415, section 11. The field must be present if and only if the client is started in stateful mode, otherwise client creation will fail and the pipelined channel will be closed.
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<D: ResourceDialect> Decode<NewClientParams, D> for NewClientParams
impl<D: ResourceDialect> Decode<NewClientParams, D> for NewClientParams
Source§impl Default for NewClientParams
impl Default for NewClientParams
Source§fn default() -> NewClientParams
fn default() -> NewClientParams
Source§impl<D: ResourceDialect> Encode<NewClientParams, D> for &NewClientParams
impl<D: ResourceDialect> Encode<NewClientParams, D> for &NewClientParams
Source§impl PartialEq for NewClientParams
impl PartialEq for NewClientParams
Source§impl TypeMarker for NewClientParams
impl TypeMarker for NewClientParams
Source§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
Source§type Borrowed<'a> = &'a NewClientParams
type Borrowed<'a> = &'a NewClientParams
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read moreimpl Persistable for NewClientParams
impl StructuralPartialEq for NewClientParams
Auto Trait Implementations§
impl Freeze for NewClientParams
impl RefUnwindSafe for NewClientParams
impl Send for NewClientParams
impl Sync for NewClientParams
impl Unpin for NewClientParams
impl UnwindSafe for NewClientParams
Blanket Implementations§
§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
§type MarkerInResultUnion = T
type MarkerInResultUnion = T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)