<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-hsservice/src/pow, branch arti-v1.4.6</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.6</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.6'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-07-23T19:10:27Z</updated>
<entry>
<title>tor-hsservice: Fix doccomment link.</title>
<updated>2025-07-23T19:10:27Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-07-23T19:10:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=24cd284219bcd22c37d7e7035f80db37bb87aebf'/>
<id>urn:sha1:24cd284219bcd22c37d7e7035f80db37bb87aebf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsservice: Add monotonic request id to RendRequestOrdByEffort.</title>
<updated>2025-07-23T18:26:12Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-07-17T17:34:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9aef7f740b28ff9e17c52de50bc1c507b1aec9bf'/>
<id>urn:sha1:9aef7f740b28ff9e17c52de50bc1c507b1aec9bf</id>
<content type='text'>
This ensures that even in situations where multiple requests are
received at the exact same time, we will not drop any requests.
</content>
</entry>
<entry>
<title>tor-hsservice: Add note about SUGGESTED_EFFORT_DEADZONE.</title>
<updated>2025-07-23T18:26:12Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-07-17T16:31:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=12b562fb685d69832d20735da275a6b756fd3137'/>
<id>urn:sha1:12b562fb685d69832d20735da275a6b756fd3137</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsservice: Fix typo.</title>
<updated>2025-07-23T18:26:12Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-07-17T16:30:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=264cc6945b5c6436e2b89e56116f2ec5503631f2'/>
<id>urn:sha1:264cc6945b5c6436e2b89e56116f2ec5503631f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsservice: Remove remaining `as` casts from suggested effort update.</title>
<updated>2025-07-23T18:26:12Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-07-17T16:26:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1cfc6372a3ac63e0888a8787005f7cf6681c15f3'/>
<id>urn:sha1:1cfc6372a3ac63e0888a8787005f7cf6681c15f3</id>
<content type='text'>
This basically converts everything to use the num_traits conversion
function, and explicitly panics on errors.
</content>
</entry>
<entry>
<title>tor-hsservice: Remove another use of `as`.</title>
<updated>2025-07-23T18:26:12Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-07-17T16:10:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7f2d9c6c4f43d02c19630a8302ccef43c6ad5a58'/>
<id>urn:sha1:7f2d9c6c4f43d02c19630a8302ccef43c6ad5a58</id>
<content type='text'>
This pulls in num_traits (which is already a dependency for PoW) to
allow f64 casts that for reasons I do not understand are not implemented
via TryFrom in the standard library.
</content>
</entry>
<entry>
<title>tor-hsservice: Convert as into checked conversion.</title>
<updated>2025-07-23T18:26:12Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-07-17T15:46:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=aa9586391e0d6c5a5396ae486416adce8fb7f237'/>
<id>urn:sha1:aa9586391e0d6c5a5396ae486416adce8fb7f237</id>
<content type='text'>
This should never happen, as the queue size is limited to well below
u32. However, it's still nicer not to use `as`.
</content>
</entry>
<entry>
<title>tor-hsservice: Make num_dequeued u32 instead of usize.</title>
<updated>2025-07-23T18:26:12Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-07-17T15:37:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8ca5788b005e574691d023a73e1ab093fda5239b'/>
<id>urn:sha1:8ca5788b005e574691d023a73e1ab093fda5239b</id>
<content type='text'>
We need to divide a Duration by this, and Duration only supports
division by u32.

This is, in a sense, just pushing around where the overflow would
happen, (from the conversion in the suggested update to the increment
when a item is dequeued). However, this overflow is so unlikely to
happen (it would require more that 14 million requests per second) that
it does not seem worth slowing down the increment operation to try to
handle it.
</content>
</entry>
<entry>
<title>tor-hsservice: Fix typos.</title>
<updated>2025-07-23T18:26:12Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-07-17T15:27:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=96c83310060070f5ecd5a9eb9238a14957a95cc1'/>
<id>urn:sha1:96c83310060070f5ecd5a9eb9238a14957a95cc1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsservice: Use Mutex for suggested_effort.</title>
<updated>2025-07-23T18:26:12Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-07-17T15:24:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ccc37ffc30eb3b85f3cb15c24507307de8ed014d'/>
<id>urn:sha1:ccc37ffc30eb3b85f3cb15c24507307de8ed014d</id>
<content type='text'>
This has fewer weird edge cases than RwLock does.

It might also be reasonable to make this a AtomicU32 (or AtomicEffort
which wraps AtomicU32), but that's slightly more complex, so I've opted
for a mutex for now.
</content>
</entry>
</feed>
