broker: tap/untap = receive a copy of every routed message
ci / check (push) Successful in 12m13s

Tapped copies {type:tapped, message:{id,from,to,reply_to,body}, ts} are
delivered directly (never tapped themselves), dropped when the tapper's
mailbox is full, and the tap is saved in actor.json like subscriptions.
This commit is contained in:
Sausage Agent
2026-10-16 11:14:09 +00:00
parent 2ff30ecf70
commit 49453fa9af
4 changed files with 182 additions and 17 deletions
+4 -1
View File
@@ -5,7 +5,7 @@
//! <world>/
//! actor/<id>/
//! actor.wasm the current version
//! actor.json version, running, subscriptions (broker)
//! actor.json version, running, subscriptions, tapped (broker)
//! source/ source of the current version
//! public/ written by the actor, read-only for others
//! data/ state, writable only by the actor
@@ -43,6 +43,9 @@ pub struct ActorMeta {
/// The actors whose published messages this actor receives.
#[serde(default)]
pub subscriptions: BTreeSet<String>,
/// Whether this actor gets a copy of every routed message (`tap`).
#[serde(default)]
pub tapped: bool,
}
fn yes() -> bool {