MCPcopy Create free account
hub / github.com/emberian/evdev / fetch_events_inner

Method fetch_events_inner

src/sync_stream.rs:325–342  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

323 }
324
325 fn fetch_events_inner(&mut self) -> io::Result<Option<SyncState>> {
326 let block_dropped = std::mem::take(&mut self.block_dropped);
327 let sync = if block_dropped {
328 self.prev_state.clone_from(&self.state);
329 let now = SystemTime::now();
330 self.sync_state(now)?;
331 Some(SyncState::KeyTypes {
332 time: crate::systime_to_timeval(&now),
333 start: KeyCode::new(0),
334 })
335 } else {
336 None
337 };
338
339 self.raw.fill_events()?;
340
341 Ok(sync)
342 }
343
344 /// Fetches and returns events from the kernel ring buffer, doing synchronization on SYN_DROPPED.
345 ///

Callers 2

fetch_eventsMethod · 0.80
poll_eventMethod · 0.80

Calls 4

systime_to_timevalFunction · 0.85
sync_stateMethod · 0.80
clone_fromMethod · 0.45
fill_eventsMethod · 0.45

Tested by

no test coverage detected