pub struct ViewTreeWatcherSynchronousProxy { /* private fields */ }
Implementations§
Source§impl ViewTreeWatcherSynchronousProxy
impl ViewTreeWatcherSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<ViewTreeWatcherEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<ViewTreeWatcherEvent, 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<WatchResponse, Error>
pub fn watch( &self, ___deadline: MonotonicInstant, ) -> Result<WatchResponse, Error>
A method of obtaining view tree snapshots for a particular view.
This call is formulated as a “hanging get” pattern: the client asks for a set of recent snapshots, and receives them via the callback. This pull-based approach ensures that clients consume events at their own pace; events don’t clog up the channel in an unbounded manner.
Error Handling. If Error is unset, the client may assume that the the response contains updates with complete information over its epoch.
Flow control. The caller is allowed at most one in-flight |Watch| call at a time; it is a logical error to have concurrent calls to |Watch|. Non-compliance results in channel closure.
Client pacing. The server will dispatch snapshots to the caller on a lossless, best-effort basis, but the caller must allocate enough time to keep up with new snapshots.
Trait Implementations§
Source§impl SynchronousProxy for ViewTreeWatcherSynchronousProxy
impl SynchronousProxy for ViewTreeWatcherSynchronousProxy
Source§type Proxy = ViewTreeWatcherProxy
type Proxy = ViewTreeWatcherProxy
Source§type Protocol = ViewTreeWatcherMarker
type Protocol = ViewTreeWatcherMarker
Proxy
controls.