We're back! Last week I ended off stating that the redox netstack might soon switch to an edge-triggered model.
Well, I ended up feeling bad about the idea of letting others do my work and
decided to stop being lazy and just do it myself :)
[PR to netstack](https://github.com/redox-os/netstack/pull/28)
This change allowed me to get rid of 82 (mostly repeated) lines of tokio workarounds ([diff](https://github.com/redox-os/tokio/commit/1900180a6c5075f8f271bca45af6cf0121fedd82))!
Applications that don't immediately handle read/write events should now be more efficient since the selector
is now blocking instead of returning any existing event over and over.
This was the start towards the goal of making everything edge-triggered.
I was bored and decided to [rewrite telnetd to use tokio](https://github.com/redox-os/netutils/pull/34),
when I discovered that PTYs were not yet edge-triggered.
[PR to ptyd](https://github.com/redox-os/ptyd/pull/3)
(This broke [userutils](https://github.com/redox-os/userutils/pull/38) and [orbterm](https://github.com/redox-os/orbterm/pull/12),
which I fixed :))
## Thrussh
[SamwiseFilmore](https://github.com/MggMuggins) did some efforts towards testing thrussh!
He wrote a [recipe for libsodium](https://github.com/redox-os/cookbook/pull/161),
[ported cryptovec](https://github.com/redox-os/cryptovec), and made a [fork of thrussh](https://github.com/redox-os/thrussh)
with all dependencies updated to use their respective redox forks.
I [sent off a PR](https://github.com/redox-os/thrussh/pull/1) to fix compilation errors with the latest tokio,
and [patched libsodium](https://github.com/redox-os/cookbook/pull/163).
The thrussh example I tried was buggy and only worked 1% of the time even on linux.
But *once*, I managed to get this:


## Unix sockets
I was going to see if I could make unix sockets edge-triggered, but redox didn't have unix sockets.
[So I created an alternative](https://github.com/redox-os/ipcd)