pub struct ControllerSynchronousProxy { /* private fields */ }
Implementations§
Source§impl ControllerSynchronousProxy
impl ControllerSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<ControllerEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<ControllerEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn add_entry(
&self,
interface: u64,
neighbor: &IpAddress,
mac: &MacAddress,
___deadline: MonotonicInstant,
) -> Result<ControllerAddEntryResult, Error>
pub fn add_entry( &self, interface: u64, neighbor: &IpAddress, mac: &MacAddress, ___deadline: MonotonicInstant, ) -> Result<ControllerAddEntryResult, Error>
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,
___deadline: MonotonicInstant,
) -> Result<ControllerRemoveEntryResult, Error>
pub fn remove_entry( &self, interface: u64, neighbor: &IpAddress, ___deadline: MonotonicInstant, ) -> Result<ControllerRemoveEntryResult, Error>
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,
___deadline: MonotonicInstant,
) -> Result<ControllerClearEntriesResult, Error>
pub fn clear_entries( &self, interface: u64, ip_version: IpVersion, ___deadline: MonotonicInstant, ) -> Result<ControllerClearEntriesResult, Error>
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 Debug for ControllerSynchronousProxy
impl Debug for ControllerSynchronousProxy
Source§impl SynchronousProxy for ControllerSynchronousProxy
impl SynchronousProxy for ControllerSynchronousProxy
Source§type Proxy = ControllerProxy
type Proxy = ControllerProxy
The async proxy for the same protocol.
Source§type Protocol = ControllerMarker
type Protocol = ControllerMarker
The protocol which this
Proxy
controls.Source§fn from_channel(inner: Channel) -> Self
fn from_channel(inner: Channel) -> Self
Create a proxy over the given channel.
Source§fn into_channel(self) -> Channel
fn into_channel(self) -> Channel
Convert the proxy back into a channel.
Source§fn as_channel(&self) -> &Channel
fn as_channel(&self) -> &Channel
Get a reference to the proxy’s underlying channel. Read more
Auto Trait Implementations§
impl Freeze for ControllerSynchronousProxy
impl RefUnwindSafe for ControllerSynchronousProxy
impl Send for ControllerSynchronousProxy
impl Sync for ControllerSynchronousProxy
impl Unpin for ControllerSynchronousProxy
impl UnwindSafe for ControllerSynchronousProxy
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