<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-chanmgr/src/lib.rs, branch arti-v2.5.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-06-17T15:39:37Z</updated>
<entry>
<title>tor-chanmgr: remove comment for something that's not implemented</title>
<updated>2026-06-17T15:39:37Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-06-17T15:39:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2d8fa917986ea29ce803966f05c72c95a5de8d1e'/>
<id>urn:sha1:2d8fa917986ea29ce803966f05c72c95a5de8d1e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>maint: Run maint/add_warning to deny string slices</title>
<updated>2026-06-09T15:36:01Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-06-09T15:36:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9f5752a77fb57052c06ead0eeae606831f1e8e97'/>
<id>urn:sha1:9f5752a77fb57052c06ead0eeae606831f1e8e97</id>
<content type='text'>
This commit executes maint/add_warning with the just added change to
deny string slices except in tests.

I recommend auditing this by checking out the previous commit followed
by running the script yourself and then verifying that the diff is
identical to this commit.

This commit makes cargo clippy fail.  We will add exceptions in the next
commit.
</content>
</entry>
<entry>
<title>tor-chanmgr: Add doccomments and fix typo.</title>
<updated>2026-06-02T14:56:19Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2026-06-01T17:14:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=40e14a18766eaf9a085655b619e5803433f1b3f8'/>
<id>urn:sha1:40e14a18766eaf9a085655b619e5803433f1b3f8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-chanmgr: Refactor metrics code slightly.</title>
<updated>2026-06-02T14:56:19Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2026-06-01T17:02:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a7391cd5e464aa55f8c8c0f6104984e66b223a17'/>
<id>urn:sha1:a7391cd5e464aa55f8c8c0f6104984e66b223a17</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-chanmgr: Split out channels built error metrics.</title>
<updated>2026-06-02T14:56:19Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2026-06-01T16:53:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=928b324aa675a446bb91503e8ca4534665efa7c0'/>
<id>urn:sha1:928b324aa675a446bb91503e8ca4534665efa7c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-chanmgr: Separate inbound/outbound channel metrics.</title>
<updated>2026-06-02T14:56:19Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2026-06-01T16:33:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c78d738d1b0629e385a013e0b9e1c78c28e7b30d'/>
<id>urn:sha1:c78d738d1b0629e385a013e0b9e1c78c28e7b30d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-chanmgr: Add metrics.</title>
<updated>2026-06-02T14:56:16Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2026-05-26T20:14:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9401cf026fd411bf3b83691a7686b946a9f8c48e'/>
<id>urn:sha1:9401cf026fd411bf3b83691a7686b946a9f8c48e</id>
<content type='text'>
This adds a structure to initialize metrics when the `ChanMgr` is
created, and adds a counter for the total number of channels built,
broken down by success and failure.
</content>
</entry>
<entry>
<title>Merge branch '3777_rebased' into 'main'</title>
<updated>2026-05-26T13:42:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-05-26T13:42:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7f841acb25c78116808bc7d098b7fe9f62e2c879'/>
<id>urn:sha1:7f841acb25c78116808bc7d098b7fe9f62e2c879</id>
<content type='text'>
ptmgr: pass outbound_proxy to managed PT processes

See merge request tpo/core/arti!4017</content>
</entry>
<entry>
<title>ptmgr: Defer proxy protocol string conversion</title>
<updated>2026-05-26T13:21:57Z</updated>
<author>
<name>Nihal</name>
<email>4218-nihalxkumar@gitlab.torproject.org</email>
</author>
<published>2026-05-26T10:55:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=477a4596a887d80c827c01125493e6caeabff004'/>
<id>urn:sha1:477a4596a887d80c827c01125493e6caeabff004</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-chanmgr: Notify waiters when a launch is cancelled</title>
<updated>2026-05-04T15:02:41Z</updated>
<author>
<name>Boris Nagaev</name>
<email>bnagaev@gmail.com</email>
</author>
<published>2026-05-04T03:03:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bd631e1bbbf0ea7f099d02216966c1f077b4fb90'/>
<id>urn:sha1:bd631e1bbbf0ea7f099d02216966c1f077b4fb90</id>
<content type='text'>
If a future that owns a pending channel launch is dropped after
publishing the pending entry, other waiters can see the oneshot sender
disappear and report "channel build task disappeared" as an
internal bug.

Fix this by tying pending-entry cleanup and waiter notification
together. Once we take responsibility for a pending launch, every exit
path now removes or upgrades the pending entry and notifies waiters with
the observed result. Cancellation reports RequestCancelled, while
post-build failures keep their original error instead of turning into
the internal bug or retrying the launch owner.

Add regression tests that cover both successive dropped launch-owner
futures and a failure while installing a newly built channel, so
waiters see the expected error in each case.
</content>
</entry>
</feed>
