<feed xmlns='http://www.w3.org/2005/Atom'>
<title>embassy/embassy-net/src/stack.rs, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/'/>
<entry>
<title>net: move stack into lib.rs</title>
<updated>2022-12-13T15:18:39+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2022-12-07T15:02:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=aaaf5f23a8a3a0df1ad2186802e2afc061a74b72'/>
<id>aaaf5f23a8a3a0df1ad2186802e2afc061a74b72</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>net: remove packet pool.</title>
<updated>2022-12-13T15:18:39+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2022-12-07T14:55:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=ac74613b5a7be72acd8d5259055963f8b4aba7fd'/>
<id>ac74613b5a7be72acd8d5259055963f8b4aba7fd</id>
<content type='text'>
The pool was prone to deadlocks, especially due to having a single pool
for rx+tx. If the pool got full with rx'd packets it would deadlock because
processing a rx packet requires doing another allocation on the pool, for
the possibly tx'd response, before deallocating the rx'd packet.

This also allows Device impls to allocate the packet memory in a particular
RAM kind, if needed for example to do DMA.

The `Device` trait is now token-based, like smoltcp's. In the end, this
is better because it allows callers to manage memory however they want (including
with a pool if they want to).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The pool was prone to deadlocks, especially due to having a single pool
for rx+tx. If the pool got full with rx'd packets it would deadlock because
processing a rx packet requires doing another allocation on the pool, for
the possibly tx'd response, before deallocating the rx'd packet.

This also allows Device impls to allocate the packet memory in a particular
RAM kind, if needed for example to do DMA.

The `Device` trait is now token-based, like smoltcp's. In the end, this
is better because it allows callers to manage memory however they want (including
with a pool if they want to).
</pre>
</div>
</content>
</entry>
<entry>
<title>net: update smoltcp</title>
<updated>2022-12-06T23:28:38+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2022-12-06T23:28:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=f7fe0c1441843b04fa17ba0fe94f8c8d4f851882'/>
<id>f7fe0c1441843b04fa17ba0fe94f8c8d4f851882</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>net: don't use UnsafeCell.</title>
<updated>2022-12-02T23:56:16+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2022-12-02T23:56:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=02abe00439ba873945bd6b60546a200b3da751f1'/>
<id>02abe00439ba873945bd6b60546a200b3da751f1</id>
<content type='text'>
The "must not be called reentrantly" invariant is too "global" to
maintain comfortably, and the cost of the RefCell is negligible,
so this was a case of premature optimization.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "must not be called reentrantly" invariant is too "global" to
maintain comfortably, and the cost of the RefCell is negligible,
so this was a case of premature optimization.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace futures::future::poll_fn -&gt; core::future::poll_fn.</title>
<updated>2022-09-22T14:42:49+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2022-09-22T14:42:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=a0487380da42a71ab7532e2bc1befd1039c18a78'/>
<id>a0487380da42a71ab7532e2bc1befd1039c18a78</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>split `embassy-util` into `embassy-futures`, `embassy-sync`.</title>
<updated>2022-08-22T20:18:13+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2022-08-22T19:46:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=21072bee48ff6ec19b79e0d9527ad8cc34a4e9e0'/>
<id>21072bee48ff6ec19b79e0d9527ad8cc34a4e9e0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Split embassy-time from embassy-executor.</title>
<updated>2022-08-17T23:22:30+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2022-08-17T21:40:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=5daa173ce4b153a532b4daa9e94c7a248231f25b'/>
<id>5daa173ce4b153a532b4daa9e94c7a248231f25b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Split embassy crate into embassy-executor, embassy-util.</title>
<updated>2022-07-29T21:40:36+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2022-07-29T19:58:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=a0f1b0ee01d461607660d2d56b5b1bdc57e0d3fb'/>
<id>a0f1b0ee01d461607660d2d56b5b1bdc57e0d3fb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Run rustfmt.</title>
<updated>2022-06-12T20:22:31+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2022-06-12T20:15:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=a8703b75988e1e700af701116464025679d2feb8'/>
<id>a8703b75988e1e700af701116464025679d2feb8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>WIP embassy-net v2</title>
<updated>2022-05-25T17:56:22+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2022-05-23T01:50:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=a5aea995a802fea8fc1b3e4b5fe47bd6d1fca2a4'/>
<id>a5aea995a802fea8fc1b3e4b5fe47bd6d1fca2a4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
