pub struct WatcherSynchronousProxy { /* private fields */ }
Implementations§
Source§impl WatcherSynchronousProxy
impl WatcherSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<WatcherEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<WatcherEvent, 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<Event>, Error>
pub fn watch(&self, ___deadline: MonotonicInstant) -> Result<Vec<Event>, Error>
Hanging get for filtering resource changes.
Clients should only have one pending call of this method outstanding at a time; a second call to this method while a call is already pending will cause the server to close the channel.
The first N events returned by this method will be [Event.existing
],
enumerating all existing N filtering resources, followed by a single
[Event.idle
] indicating that all existing resources have been sent.
Subsequent calls will immediately return with new events if there is at
least one to be reported, or will otherwise block until an event occurs.
In order to communicate atomic updates, after the initial state is
provided followed by [Event.idle
], a sequence of events that occurred
atomically will always be followed by [Event.end_of_update
],
demarcating the end of the atomic update.
Note that each non-sentinel event is scoped to a controller; the
ControllerId
is provided along with the event to allow the client to
disambiguate.
Trait Implementations§
Source§impl Debug for WatcherSynchronousProxy
impl Debug for WatcherSynchronousProxy
Source§impl SynchronousProxy for WatcherSynchronousProxy
impl SynchronousProxy for WatcherSynchronousProxy
Source§type Proxy = WatcherProxy
type Proxy = WatcherProxy
Source§type Protocol = WatcherMarker
type Protocol = WatcherMarker
Proxy
controls.