Files
phy/uuid/timestamp/index.html
Orion Kindel 0ce894e6b0 doc
2025-03-18 10:30:23 -05:00

21 lines
6.5 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="Generating UUIDs from timestamps."><title>uuid::timestamp - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.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-42caa33d.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="uuid" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.0 (9fc6b4312 2025-01-07)" data-channel="1.84.0" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><script src="../../static.files/storage-59e33391.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-893ab5e7.css"></noscript><link rel="icon" href="https://www.rust-lang.org/favicon.ico"></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><a class="logo-container" href="../../uuid/index.html"><img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../../uuid/index.html"><img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png" alt="logo"></a><h2><a href="../../uuid/index.html">uuid</a><span class="version">1.10.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module timestamp</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#timestamp-representations-in-uuids" title="Timestamp representations in UUIDs">Timestamp representations in UUIDs</a></li><li><a href="#references" title="References">References</a></li></ul><h3><a href="#modules">Module Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#constants" title="Constants">Constants</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate uuid</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">uuid</a></span><h1>Module <span>timestamp</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/uuid/timestamp.rs.html#1-972">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Generating UUIDs from timestamps.</p>
<p>Timestamps are used in a few UUID versions as a source of decentralized
uniqueness (as in versions 1 and 6), and as a way to enable sorting (as
in versions 6 and 7). Timestamps arent encoded the same way by all UUID
versions so this module provides a single <a href="struct.Timestamp.html" title="struct uuid::timestamp::Timestamp"><code>Timestamp</code></a> type that can
convert between them.</p>
<h2 id="timestamp-representations-in-uuids"><a class="doc-anchor" href="#timestamp-representations-in-uuids">§</a>Timestamp representations in UUIDs</h2>
<p>Versions 1 and 6 UUIDs use a bespoke timestamp that consists of the
number of 100ns ticks since <code>1582-10-15 00:00:00</code>, along with
a counter value to avoid duplicates.</p>
<p>Version 7 UUIDs use a more standard timestamp that consists of the
number of millisecond ticks since the Unix epoch (<code>1970-01-01 00:00:00</code>).</p>
<h2 id="references"><a class="doc-anchor" href="#references">§</a>References</h2>
<ul>
<li><a href="https://www.ietf.org/rfc/rfc9562.html#section-5.1">UUID Version 1 in RFC 9562</a></li>
<li><a href="https://www.ietf.org/rfc/rfc9562.html#section-5.7">UUID Version 7 in RFC 9562</a></li>
<li><a href="https://www.ietf.org/rfc/rfc9562.html#section-6.1">Timestamp Considerations in RFC 9562</a></li>
</ul>
</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="context/index.html" title="mod uuid::timestamp::context">context</a></div><div class="desc docblock-short">Default implementations for the <a href="trait.ClockSequence.html" title="trait uuid::timestamp::ClockSequence"><code>ClockSequence</code></a> trait.</div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Timestamp.html" title="struct uuid::timestamp::Timestamp">Timestamp</a></div><div class="desc docblock-short">A timestamp that can be encoded into a UUID.</div></li></ul><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.UUID_TICKS_BETWEEN_EPOCHS.html" title="constant uuid::timestamp::UUID_TICKS_BETWEEN_EPOCHS">UUID_<wbr>TICKS_<wbr>BETWEEN_<wbr>EPOCHS</a></div><div class="desc docblock-short">The number of 100 nanosecond ticks between the RFC 9562 epoch
(<code>1582-10-15 00:00:00</code>) and the Unix epoch (<code>1970-01-01 00:00:00</code>).</div></li></ul><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.ClockSequence.html" title="trait uuid::timestamp::ClockSequence">Clock<wbr>Sequence</a></div><div class="desc docblock-short">A counter that can be used by versions 1 and 6 UUIDs to support
the uniqueness of timestamps.</div></li></ul></section></div></main></body></html>