<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirserver/src/mirror, branch arti-v1.8.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.8.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.8.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-11-27T12:59:38Z</updated>
<entry>
<title>tor-dirserver: Improve database::Timestamp</title>
<updated>2025-11-27T12:59:38Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2025-11-26T15:17:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5f1305d17e54bf79b9d16c054f47487b1aaafea5'/>
<id>urn:sha1:5f1305d17e54bf79b9d16c054f47487b1aaafea5</id>
<content type='text'>
This commit improves upon the work made in arti!3460, by establishing
the `database::Timestamp` type as a general purpose type for the
handling of timestamp throughout the code base.

It also replaces all previous occurrences of `SystemTime` within
`dirmirror::operation`, which leads to the reduction of code complexity
in one particular function, namely `calculate_sync_timeout`.
</content>
</entry>
<entry>
<title>tor-dirserver: Fix clippy warning for time</title>
<updated>2025-11-26T10:53:14Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2025-11-26T10:53:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b3656f027f2c882a0e3b93905eeae5aedc09ae2f'/>
<id>urn:sha1:b3656f027f2c882a0e3b93905eeae5aedc09ae2f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-dirserver: Use `saturating-time`</title>
<updated>2025-11-26T10:27:15Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2025-11-25T17:20:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=73a053117033d0d26897a009765915739ba73180'/>
<id>urn:sha1:73a053117033d0d26897a009765915739ba73180</id>
<content type='text'>
This commit replaces the custom implementation of `SaturatingSystemTime`
with the `saturating-time` crate, additionally adding a new type to the
`database` module called `Timestamp`, in order to have a convenient
wrapper around `ToSql` and `FromSql`.
</content>
</entry>
<entry>
<title>Fix name of clippy lint to unchecked_time_subtraction (2)</title>
<updated>2025-11-06T11:28:22Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-11-06T11:23:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff'/>
<id>urn:sha1:a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff</id>
<content type='text'>
Run maint/add_warning
</content>
</entry>
<entry>
<title>tor-dirserver: Refactor cons retrieval with JOIN</title>
<updated>2025-11-04T18:10:57Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2025-11-04T17:08:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=585c0c6db15831ad87f74351ef5ca59c2dcaeb47'/>
<id>urn:sha1:585c0c6db15831ad87f74351ef5ca59c2dcaeb47</id>
<content type='text'>
This commit refactors `get_recent_consensus()` in `tor-dirserver` to use
a single SQL statement with the power of `INNER JOIN` instead of two SQL
statements querying the store after retrieving the SHA256 hash.

The primary motivation for this is to have cleaner code.
A single SQL statement is often-times easier to comprehend, as well more
performant in execution, although that can only be proven with a
profiler and is not of much concern, given that this function is only
executed roughly every 60-90min.
</content>
</entry>
<entry>
<title>tor-dirserver: Add SaturatingSystemTime</title>
<updated>2025-10-30T15:54:27Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2025-10-27T11:21:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=61a641e9b4b4932849e8aa212348a808d95a7033'/>
<id>urn:sha1:61a641e9b4b4932849e8aa212348a808d95a7033</id>
<content type='text'>
This commit changes various things in the dirmirror operation, namely
the use of a SystemTime wrapper type that provides saturation on both
ends.
</content>
</entry>
<entry>
<title>tor-dirserver: Make database full sync</title>
<updated>2025-10-30T15:53:27Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2025-10-20T14:33:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b7dd6d4b7e230975347ec99c1db554498e2ace7e'/>
<id>urn:sha1:b7dd6d4b7e230975347ec99c1db554498e2ace7e</id>
<content type='text'>
This commit makes the entire database operations synchronous, thereby
replacing deadpool with r2d2.

The full motivation is outlined in a rustdoc comment at the top of the
`database` module, but it can be summarized to the fact that SQLite is
by design inherently synchronous due to directly interfacing with the
file system.
</content>
</entry>
<entry>
<title>tor-dirserver: Outline the dirmirror operation</title>
<updated>2025-10-30T15:53:27Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2025-10-14T11:50:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ed0cfc6a7d8224e88ae9eb879226d52b472558a4'/>
<id>urn:sha1:ed0cfc6a7d8224e88ae9eb879226d52b472558a4</id>
<content type='text'>
This commit creates a function named `mirror::operation::serve`, that
will serve as the primary entry point for the dirmirror operation.

While the function itself already contains some logic, such as querying
the timeout to wait for the next consensus, it is largely a rustdoc
design document that adds lots of comment to the `mirror::operation`
module.
</content>
</entry>
<entry>
<title>tor-dirserver: Implement download timeout</title>
<updated>2025-10-30T15:53:25Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2025-10-01T14:08:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f59efc0b66e0a6e1301f8ef23a98345f78295abc'/>
<id>urn:sha1:f59efc0b66e0a6e1301f8ef23a98345f78295abc</id>
<content type='text'>
This commit starts work in the `mirror::operation` module by
implementing the functions for calculating the `Duration` to wait from a
given `SystemTime` until the point in time when the dirmirror should
download new documents from the authorities again.

Also, this commit introduces new error types and internal helper
functions in order to fulfill this purpose better.
</content>
</entry>
</feed>
