pub struct MouseSourceSynchronousProxy { /* private fields */ }
Implementations§
Source§impl MouseSourceSynchronousProxy
impl MouseSourceSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<MouseSourceEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<MouseSourceEvent, 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<MouseEvent>, Error>
pub fn watch( &self, ___deadline: MonotonicInstant, ) -> Result<Vec<MouseEvent>, Error>
A method for a client to receive mouse pointer events.
This call is formulated as a “hanging get” pattern: the client asks for a set of recent events, 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.
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 events to the caller on a FIFO, lossless, best-effort basis, but the caller must allocate enough time to keep up with new events.
Event times. The timestamps on each event in the event vector are not guaranteed monotonic; events from different devices may be injected into Scenic at different times. Generally, events from a single device are expected to have monotonically increasing timestamps.
View parameters. Occasionally, changes in view or viewport require notifying the client. If a |MouseEvent| carries |ViewParameters|, these parameters apply to successive |MousePointerSample|s until the next |ViewParameters|.
Trait Implementations§
Source§impl Debug for MouseSourceSynchronousProxy
impl Debug for MouseSourceSynchronousProxy
Source§impl SynchronousProxy for MouseSourceSynchronousProxy
impl SynchronousProxy for MouseSourceSynchronousProxy
Source§type Proxy = MouseSourceProxy
type Proxy = MouseSourceProxy
Source§type Protocol = MouseSourceMarker
type Protocol = MouseSourceMarker
Proxy
controls.