pub struct Ipv6RoutingTableControllerSynchronousProxy { /* private fields */ }
Implementations§
Source§impl Ipv6RoutingTableControllerSynchronousProxy
impl Ipv6RoutingTableControllerSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<Ipv6RoutingTableControllerEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<Ipv6RoutingTableControllerEvent, 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_route(
&self,
addresses: &Ipv6UnicastSourceAndMulticastDestination,
route: &Route,
___deadline: MonotonicInstant,
) -> Result<Ipv6RoutingTableControllerAddRouteResult, Error>
pub fn add_route( &self, addresses: &Ipv6UnicastSourceAndMulticastDestination, route: &Route, ___deadline: MonotonicInstant, ) -> Result<Ipv6RoutingTableControllerAddRouteResult, Error>
Adds a route such that packets matching the addresses will be forwarded accordingly.
The provided addresses act as the key for the route; any existing route with the same addresses will be overwritten when this route is installed.
If a packet arrives at an interface different from the expected input
interface set in the route, the packet will not be forwarded and a
[RoutingEvent.wrong_input_interface
] event will be sent to the client.
See [WatchRoutingEvents
] for more details.
- request
addresses
the addresses used to identify a route. - request
route
the multicast route.
Sourcepub fn del_route(
&self,
addresses: &Ipv6UnicastSourceAndMulticastDestination,
___deadline: MonotonicInstant,
) -> Result<Ipv6RoutingTableControllerDelRouteResult, Error>
pub fn del_route( &self, addresses: &Ipv6UnicastSourceAndMulticastDestination, ___deadline: MonotonicInstant, ) -> Result<Ipv6RoutingTableControllerDelRouteResult, Error>
Delete a route.
- request
addresses
the addresses used to identify a route.
Sourcepub fn get_route_stats(
&self,
addresses: &Ipv6UnicastSourceAndMulticastDestination,
___deadline: MonotonicInstant,
) -> Result<Ipv6RoutingTableControllerGetRouteStatsResult, Error>
pub fn get_route_stats( &self, addresses: &Ipv6UnicastSourceAndMulticastDestination, ___deadline: MonotonicInstant, ) -> Result<Ipv6RoutingTableControllerGetRouteStatsResult, Error>
Get a snapshot of statistics about a specific route.
- request
addresses
the addresses used to identify a route.
Sourcepub fn watch_routing_events(
&self,
___deadline: MonotonicInstant,
) -> Result<(u64, Ipv6UnicastSourceAndMulticastDestination, u64, RoutingEvent), Error>
pub fn watch_routing_events( &self, ___deadline: MonotonicInstant, ) -> Result<(u64, Ipv6UnicastSourceAndMulticastDestination, u64, RoutingEvent), Error>
Watch for events triggered by multicast packets.
The server will queue events to return when this method is called. If no events are ready, the call will block until an event is ready. The server will drop new events if the client is not consuming them fast enough and return the number of events dropped in-between events.
It is invalid to call this method while a previous call is pending. Doing so will cause the server end of the protocol to be closed.
- response
dropped_events
the number of events that were dropped immediately before the returned event was queued. returned event. - response
addresses
the addresses in the multicast packet triggering the event. - response
input_interface
the interface the multicast packet triggering the event arrived at. - response
event
the event.
Trait Implementations§
Source§impl SynchronousProxy for Ipv6RoutingTableControllerSynchronousProxy
impl SynchronousProxy for Ipv6RoutingTableControllerSynchronousProxy
Source§type Proxy = Ipv6RoutingTableControllerProxy
type Proxy = Ipv6RoutingTableControllerProxy
Source§type Protocol = Ipv6RoutingTableControllerMarker
type Protocol = Ipv6RoutingTableControllerMarker
Proxy
controls.