pub struct InputDeviceStatus {
pub node: Node,
pub file_nodes: Mutex<Vec<Node>>,
pub total_fidl_events_received_count: AtomicU64,
pub total_fidl_events_ignored_count: AtomicU64,
pub total_fidl_events_unexpected_count: AtomicU64,
pub total_fidl_events_converted_count: AtomicU64,
pub total_uapi_events_generated_count: AtomicU64,
pub last_generated_uapi_event_timestamp_ns: AtomicI64,
}Expand description
An InputDeviceStatus is tied to an [InputDeviceBinding] and provides properties
detailing its Inspect status.
We expect all (non-timestamp) properties’ counts to equal the sum of that property from all
files opened on that device. So for example, if a device had 3 separate input files opened, we
would expect it’s total_fidl_events_received_count to equal the sum of
fidl_events_received_count from all 3 files and so forth.
Fields§
§node: NodeA node that contains the state below.
file_nodes: Mutex<Vec<Node>>Hold onto inspect nodes for files opened on this device, so that when these files are closed, their inspect data is maintained.
total_fidl_events_received_count: AtomicU64The number of FIDL events received by this device from Fuchsia input system.
We expect: total_fidl_events_received_count = total_fidl_events_ignored_count + total_fidl_events_unexpected_count + total_fidl_events_converted_count otherwise starnix ignored events unexpectedly.
total_fidl_events_unexpected_count should be 0, if not it hints issues from upstream of ui stack.
total_fidl_events_ignored_count: AtomicU64The number of FIDL events ignored by this device when attempting conversion to this module’s representation of a TouchEvent.
total_fidl_events_unexpected_count: AtomicU64The unexpected number of FIDL events reached to this module should be filtered out earlier in the UI stack. It maybe unexpected format or unexpected order.
total_fidl_events_converted_count: AtomicU64The number of FIDL events converted by this device to this module’s representation of TouchEvent.
total_uapi_events_generated_count: AtomicU64The number of uapi::input_events generated by this device from TouchEvents.
last_generated_uapi_event_timestamp_ns: AtomicI64The event time of the last generated uapi::input_event by one of this device’s InputFiles.
Implementations§
Source§impl InputDeviceStatus
impl InputDeviceStatus
pub fn count_total_received_events(&self, count: u64)
pub fn count_total_ignored_events(&self, count: u64)
pub fn count_total_unexpected_events(&self, count: u64)
pub fn count_total_converted_events(&self, count: u64)
pub fn count_total_generated_events(&self, count: u64, event_time_ns: i64)
Auto Trait Implementations§
impl !Freeze for InputDeviceStatus
impl !RefUnwindSafe for InputDeviceStatus
impl Send for InputDeviceStatus
impl Sync for InputDeviceStatus
impl Unpin for InputDeviceStatus
impl !UnwindSafe for InputDeviceStatus
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
T to [Self]§impl<T> IntoAny for T
impl<T> IntoAny for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more