<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-events/src/events.rs, branch main</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=main</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-05-23T16:55:37Z</updated>
<entry>
<title>Resolve the new `derive_partial_eq_without_eq` lint.</title>
<updated>2022-05-23T16:55:37Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-23T16:32:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=546ae3000eb179aedc97de30b0ccdb1d45b93395'/>
<id>urn:sha1:546ae3000eb179aedc97de30b0ccdb1d45b93395</id>
<content type='text'>
It's a little overzealous sometimes, but it's mostly to the good.
</content>
</entry>
<entry>
<title>Add and resolve clippy warnings in tor-events.</title>
<updated>2021-11-22T16:49:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-11-22T16:49:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=94790016495c61e2913d645fde51274e963437b1'/>
<id>urn:sha1:94790016495c61e2913d645fde51274e963437b1</id>
<content type='text'>
Here we add the same array of clippy warnings as usual to the new
tor-event crate, and resolve the issues that triggered any of them.
</content>
</entry>
<entry>
<title>Initial cut at a typed event framework for arti (arti#230).</title>
<updated>2021-11-22T14:39:38Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2021-11-16T15:21:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=98f38dc186212624d377653ed8ecf3c47366c3ad'/>
<id>urn:sha1:98f38dc186212624d377653ed8ecf3c47366c3ad</id>
<content type='text'>
This implements a basic typed event broadcast mechanism, as described in
arti#230: consumers of the new `tor-events` crate can emit `TorEvent`
events, which others can consume via the `TorEventReceiver`.

Under the hood, the crate uses the `async-broadcast`
(https://github.com/smol-rs/async-broadcast) crate, and a
`futures::mpsc::UnboundedSender` for the event emitters; these are glued
together in the `EventReactor`, which must be run in a background thread
for things to work. (This is done so event sending is always cheap and
non-blocking, since `async-broadcast` senders don't have this
functionality.)

Additionally, the `TorEventKind` type is used to implement selective
event reception / emission: receivers can subscribe to certain event
types (and in fact start out receiving nothing), which filters the set
of events they receive. Having no subscribers for a given event type
means it won't even be emitted in the first place, making things more
efficient.
</content>
</entry>
</feed>
