libcosmic/cosmic/cctk/sctk/reexports/calloop/timer/index.html
2026-04-18 20:11:25 +00:00

15 lines
No EOL
5.7 KiB
HTML

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Timer event source"><title>cosmic::cctk::sctk::reexports::calloop::timer - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../../../../static.files/rustdoc-aa0817cf.css"><meta name="rustdoc-vars" data-root-path="../../../../../../" data-static-root-path="../../../../../../static.files/" data-current-crate="cosmic" data-themes="" data-resource-suffix="" data-rustdoc-version="1.90.0-nightly (3048886e5 2025-07-30)" data-channel="nightly" data-search-js="search-fa3e91e5.js" data-settings-js="settings-5514c975.js" ><script src="../../../../../../static.files/storage-68b7e25d.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../../../../static.files/main-eebb9057.js"></script><noscript><link rel="stylesheet" href="../../../../../../static.files/noscript-32bb7600.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../../../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../../../../cosmic/index.html">cosmic</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module timer</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In cosmic::<wbr>cctk::<wbr>sctk::<wbr>reexports::<wbr>calloop</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../../../../index.html">cosmic</a>::<wbr><a href="../../../../index.html">cctk</a>::<wbr><a href="../../../index.html">sctk</a>::<wbr><a href="../../index.html">reexports</a>::<wbr><a href="../index.html">calloop</a></div><h1>Module <span>timer</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"></span></div><span class="item-info"><div class="stab portability">Available on <strong>crate feature <code>wayland</code> and Linux</strong> only.</div></span><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Timer event source</p>
<p>The <a href="struct.Timer.html" title="struct cosmic::cctk::sctk::reexports::calloop::timer::Timer"><code>Timer</code></a> is an event source that will fire its event after a certain amount of time
specified at creation. Its timing is tracked directly by the event loop core logic, and it does
not consume any system resource.</p>
<p>As of calloop v0.11.0, the event loop always uses high-precision timers. However, the timer
precision varies between operating systems; for instance, the scheduler granularity on Windows
is about 16 milliseconds. If you need to rely on good precision timers in general, you may need
to enable realtime features of your OS to ensure your thread is quickly woken up by the system
scheduler.</p>
<p>The provided event is an <a href="../../../../../iced/time/struct.Instant.html" title="struct cosmic::iced::time::Instant"><code>Instant</code></a> representing the deadline for which this timer has fired
(which can be earlier than the current time depending on the event loop congestion).</p>
<p>The callback associated with this event source is expected to return a <a href="enum.TimeoutAction.html" title="enum cosmic::cctk::sctk::reexports::calloop::timer::TimeoutAction"><code>TimeoutAction</code></a>, which
can be used to implement self-repeating timers by telling calloop to reprogram the same timer
for a later timeout after it has fired.</p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.TimeoutFuture.html" title="struct cosmic::cctk::sctk::reexports::calloop::timer::TimeoutFuture">Timeout<wbr>Future</a></dt><dd>A future that resolves once a certain timeout is expired</dd><dt><a class="struct" href="struct.Timer.html" title="struct cosmic::cctk::sctk::reexports::calloop::timer::Timer">Timer</a></dt><dd>A timer event source</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.TimeoutAction.html" title="enum cosmic::cctk::sctk::reexports::calloop::timer::TimeoutAction">Timeout<wbr>Action</a></dt><dd>Action to reschedule a timeout if necessary</dd></dl></section></div></main></body></html>