template <>

class WireSyncBufferClientImpl

Defined at line 321 of file fidling/gen/sdk/fidl/fuchsia.ui.pointer/fuchsia.ui.pointer/cpp/fidl/fuchsia.ui.pointer/cpp/wire_messaging.h

Public Methods

::fidl::WireUnownedResult< ::fuchsia_ui_pointer::MouseSource::Watch> Watch ()

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|.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.