pub struct WatcherV4SynchronousProxy { /* private fields */ }
Implementations§
Source§impl WatcherV4SynchronousProxy
impl WatcherV4SynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<WatcherV4Event, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<WatcherV4Event, 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<EventV4>, Error>
pub fn watch( &self, ___deadline: MonotonicInstant, ) -> Result<Vec<EventV4>, 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
IPv4 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 WatcherV4SynchronousProxy
impl Debug for WatcherV4SynchronousProxy
Source§impl SynchronousProxy for WatcherV4SynchronousProxy
impl SynchronousProxy for WatcherV4SynchronousProxy
Source§type Proxy = WatcherV4Proxy
type Proxy = WatcherV4Proxy
Source§type Protocol = WatcherV4Marker
type Protocol = WatcherV4Marker
Proxy
controls.