pub struct WatcherV6SynchronousProxy { /* private fields */ }
Implementations§
Source§impl WatcherV6SynchronousProxy
impl WatcherV6SynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<WatcherV6Event, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<WatcherV6Event, 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 watch(
&self,
___deadline: MonotonicInstant,
) -> Result<Vec<EventV6>, Error>
pub fn watch( &self, ___deadline: MonotonicInstant, ) -> Result<Vec<EventV6>, Error>
Hanging-Get style API for observing routing changes.
Clients must only have one pending Watch
call at a time. Calling
Watch
while a request is already pending will cause the protocol to
close.
The first N events will always be existing
where N is the number of
IPv6 routes that already existed when the server-end of the protocol was
initialized. The following event will be idle
signaling the end of the
existing
events. At this point the client has watched all existing
state and will never again observe an existing
event.
Events are returned in batches of up to MAX_EVENTS
events. There is no
correlation between the batch size/boundary and it’s contents: it is
perfectly valid for the server to split the block of existing
events,
across several batches. Clients should view this API as providing a
stream of events, where batches are used to reduce IPC load on the
system.
- response
events
A vector of at mostMAX_EVENTS
events.
Trait Implementations§
Source§impl Debug for WatcherV6SynchronousProxy
impl Debug for WatcherV6SynchronousProxy
Source§impl SynchronousProxy for WatcherV6SynchronousProxy
impl SynchronousProxy for WatcherV6SynchronousProxy
Source§type Proxy = WatcherV6Proxy
type Proxy = WatcherV6Proxy
Source§type Protocol = WatcherV6Marker
type Protocol = WatcherV6Marker
Proxy
controls.