pub struct ControllerProxy { /* private fields */ }
Implementations§
Source§impl ControllerProxy
impl ControllerProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.net.neighbor/Controller.
Sourcepub fn take_event_stream(&self) -> ControllerEventStream
pub fn take_event_stream(&self) -> ControllerEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn add_entry(
&self,
interface: u64,
neighbor: &IpAddress,
mac: &MacAddress,
) -> QueryResponseFut<ControllerAddEntryResult, DefaultFuchsiaResourceDialect>
pub fn add_entry( &self, interface: u64, neighbor: &IpAddress, mac: &MacAddress, ) -> QueryResponseFut<ControllerAddEntryResult, DefaultFuchsiaResourceDialect>
Create a static entry. If a conflict is found, overwrite the existing entry. Conflicts occur when two entries have the same interface identifier and IP address.
- request
interface
identifier for the interface used for communicating with the neighbor. - request
neighbor
IP address of the neighbor. - request
mac
MAC address of the neighbor.
- error
ZX_ERR_INVALID_ARGS
ifneighbor
is not a valid neighbor address ormac
is not a unicast MAC address. - error
ZX_ERR_NOT_FOUND
ifinterface
does not exist. - error
ZX_ERR_NOT_SUPPORTED
ifinterface
does not keep a neighbor table (e.g. point-to-point links).
Sourcepub fn remove_entry(
&self,
interface: u64,
neighbor: &IpAddress,
) -> QueryResponseFut<ControllerRemoveEntryResult, DefaultFuchsiaResourceDialect>
pub fn remove_entry( &self, interface: u64, neighbor: &IpAddress, ) -> QueryResponseFut<ControllerRemoveEntryResult, DefaultFuchsiaResourceDialect>
Delete a dynamic or static entry.
- request
interface
identifier for the interface associated with the entry to be deleted. - request
neighbor
IP address of the entry to be deleted.
- error
ZX_ERR_INVALID_ARGS
ifneighbor
is not a valid neighbor address. - error
ZX_ERR_NOT_FOUND
if no entries matchinterface
andneighbor
. - error
ZX_ERR_NOT_SUPPORTED
ifinterface
does not keep a neighbor table (e.g. point-to-point links).
Sourcepub fn clear_entries(
&self,
interface: u64,
ip_version: IpVersion,
) -> QueryResponseFut<ControllerClearEntriesResult, DefaultFuchsiaResourceDialect>
pub fn clear_entries( &self, interface: u64, ip_version: IpVersion, ) -> QueryResponseFut<ControllerClearEntriesResult, DefaultFuchsiaResourceDialect>
Delete all dynamic and static entries belonging to an interface.
- request
interface
identifier for the interface associated with the entries to be deleted. - request
ip_version
the IP version to clear entries from.
- error
ZX_ERR_NOT_FOUND
ifinterface
does not exist. - error
ZX_ERR_NOT_SUPPORTED
ifinterface
does not keep a neighbor table (e.g. point-to-point links).
Trait Implementations§
Source§impl Clone for ControllerProxy
impl Clone for ControllerProxy
Source§fn clone(&self) -> ControllerProxy
fn clone(&self) -> ControllerProxy
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl ControllerProxyInterface for ControllerProxy
impl ControllerProxyInterface for ControllerProxy
type AddEntryResponseFut = QueryResponseFut<Result<(), i32>>
type RemoveEntryResponseFut = QueryResponseFut<Result<(), i32>>
type ClearEntriesResponseFut = QueryResponseFut<Result<(), i32>>
fn add_entry( &self, interface: u64, neighbor: &IpAddress, mac: &MacAddress, ) -> Self::AddEntryResponseFut
fn remove_entry( &self, interface: u64, neighbor: &IpAddress, ) -> Self::RemoveEntryResponseFut
fn clear_entries( &self, interface: u64, ip_version: IpVersion, ) -> Self::ClearEntriesResponseFut
Source§impl Debug for ControllerProxy
impl Debug for ControllerProxy
Source§impl Proxy for ControllerProxy
impl Proxy for ControllerProxy
Source§type Protocol = ControllerMarker
type Protocol = ControllerMarker
The protocol which this
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Create a proxy over the given channel.
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Attempt to convert the proxy back into a channel. Read more
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
Get a reference to the proxy’s underlying channel. Read more
§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Attempt to convert the proxy back into a client end. Read more
Auto Trait Implementations§
impl Freeze for ControllerProxy
impl !RefUnwindSafe for ControllerProxy
impl Send for ControllerProxy
impl Sync for ControllerProxy
impl Unpin for ControllerProxy
impl !UnwindSafe for ControllerProxy
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> ProxyHasClient for Twhere
T: Proxy,
impl<T> ProxyHasClient for Twhere
T: Proxy,
§fn client(&self) -> Result<ZirconClient, Infallible>
fn client(&self) -> Result<ZirconClient, Infallible>
Get a “client” for this proxy. This is just an object which has methods
for a few common handle creation operations.