pub struct InputDeviceStatus {
pub node: Node,
pub file_nodes: Mutex<Vec<Node>>,
pub total_fidl_events_received_count: UintProperty,
pub total_fidl_events_ignored_count: UintProperty,
pub total_fidl_events_unexpected_count: UintProperty,
pub total_fidl_events_converted_count: UintProperty,
pub total_uapi_events_generated_count: UintProperty,
pub last_generated_uapi_event_timestamp_ns: IntProperty,
}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: UintPropertyThe 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: UintPropertyThe number of FIDL events ignored by this device when attempting conversion to this module’s representation of a TouchEvent.
total_fidl_events_unexpected_count: UintPropertyThe 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: UintPropertyThe number of FIDL events converted by this device to this module’s representation of TouchEvent.
total_uapi_events_generated_count: UintPropertyThe number of uapi::input_events generated by this device from TouchEvents.
last_generated_uapi_event_timestamp_ns: IntPropertyThe 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 UnsafeUnpin 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