<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-cell/src/chancell, branch ios-sqlite-hacks</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=ios-sqlite-hacks</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=ios-sqlite-hacks'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-08-23T09:34:00Z</updated>
<entry>
<title>Run maint/add_warning to add lint block everywhere</title>
<updated>2023-08-23T09:34:00Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-08-22T14:28:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac'/>
<id>urn:sha1:42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run maint/add_warning to actually apply new lint allows</title>
<updated>2023-07-10T12:49:51Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-10T11:19:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=473447a82e099fd52a674c28f5bc24b3e05208c0'/>
<id>urn:sha1:473447a82e099fd52a674c28f5bc24b3e05208c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-cell: remove use of arrayref</title>
<updated>2023-06-01T15:14:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-06-01T14:57:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0bf44b1393a833a7c4c30734727906a97bd83309'/>
<id>urn:sha1:0bf44b1393a833a7c4c30734727906a97bd83309</id>
<content type='text'>
Closes #872
</content>
</entry>
<entry>
<title>tor-cell: add a TODO comment about simplifying Body away.</title>
<updated>2023-02-15T15:48:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-14T19:30:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=21db73f182ad822e1693eb0fca1a619066c25376'/>
<id>urn:sha1:21db73f182ad822e1693eb0fca1a619066c25376</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-cell: Implement {Relay,Chan}Msg for every body type</title>
<updated>2023-02-15T15:48:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-13T20:53:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3f1457ea046b724a1df33dee6c91c1e51a773dd5'/>
<id>urn:sha1:3f1457ea046b724a1df33dee6c91c1e51a773dd5</id>
<content type='text'>
This will make it ergonomic to decode a single body type without
having to declare a variant that accepts only a single message.
</content>
</entry>
<entry>
<title>tor-cell: Refactor relay cells to copy much less</title>
<updated>2023-02-15T15:48:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-13T02:19:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ca3b33a1afc58b84cc7a39ea3845a82f17cee0da'/>
<id>urn:sha1:ca3b33a1afc58b84cc7a39ea3845a82f17cee0da</id>
<content type='text'>
We now manipulate raw relay cell bodies as (an alias for)
`Box&lt;[u8;509]&gt;` rather than as (an alias for) `[u8;509]`.  This
enables us to do much less copying.  It will become more important
soon, as we defer parsing relay cell bodies even longer.

Related to #7.

We also use SliceWriter to avoid allocating a Vec&lt;&gt; for every relay
message we want to encode, and instead encode directly into the
cell.
</content>
</entry>
<entry>
<title>Change tor_bytes::Error::BadMessage to a Cow.</title>
<updated>2023-02-09T15:20:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-08T13:51:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=48ab7b0463aaada172a426ad4b20a63d7f44cb84'/>
<id>urn:sha1:48ab7b0463aaada172a426ad4b20a63d7f44cb84</id>
<content type='text'>
Actually, to avoid making a breaking change, I'm deprecating
BadMessage and creating a new InvalidMessage variant that takes a
Cow.  This way I don't need to track every crate that re-exposes
tor_bytes::Error and call this a breaking change in those.

Making this change will allow tor_bytes errors to be much more
helpful.
</content>
</entry>
<entry>
<title>tor-cell: Remove chancell::msg::Body::into_message.</title>
<updated>2023-02-09T15:20:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-08T12:48:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0633f1713197e5ef68968677e9f6e082941af8c4'/>
<id>urn:sha1:0633f1713197e5ef68968677e9f6e082941af8c4</id>
<content type='text'>
It's now redundant, since `restricted_msg!` defines From and Into
for us.
</content>
</entry>
<entry>
<title>tor-cell: Make RelayEarly a separate type.</title>
<updated>2023-02-09T15:20:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-08T12:41:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=16b9d23a7c0439b574eedd11323884f71a26148d'/>
<id>urn:sha1:16b9d23a7c0439b574eedd11323884f71a26148d</id>
<content type='text'>
This allows us to remove a shenanigan from `restricted_msg!{}`.
</content>
</entry>
<entry>
<title>tor-cell: Have restrict_msg add conversion functions.</title>
<updated>2023-02-09T15:20:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-07T22:35:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e832cbd29c2a81449e097961a86b6ef75db3dfc3'/>
<id>urn:sha1:e832cbd29c2a81449e097961a86b6ef75db3dfc3</id>
<content type='text'>
Every FooMsg type now implements Into&lt;AnyFooMsg&gt;, and
TryFrom&lt;FooMsg&gt;.

Additionally, it now implements From&lt;X&gt; for every distinct type that
it supports.  This last part lets us discard a bunch of code.

Unfortunately, I needed some downright hackish trickery in order to
get these macros to avoid generating `From&lt;AnyFooMsg&gt; for AnyFooMsg`
and conflicting with the blanket implementation.

The trickery to deal with RelayEarly and Relay being the same type
was not necessarily worth it; I will be separating them and removing
said trickery in the next commit.
</content>
</entry>
</feed>
