From d847aea1c944555efac81434a1363949565c0658 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 24 Feb 2022 23:13:55 +0100 Subject: [PATCH] A footnote --- src/protocol.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/protocol.md b/src/protocol.md index f55ea0b..d038087 100644 --- a/src/protocol.md +++ b/src/protocol.md @@ -1,8 +1,9 @@ # Syndicate Protocol Actors that share a local [scope](./glossary#scope) can communicate directly. To communicate -further afield, scopes are *connected* using [relay actors](./glossary.md#relay). Relays allow -*indirect* communication: distant entities can be addressed as if they were local. +further afield, scopes are *connected* using [relay +actors](./glossary.md#relay).[^analogy-to-subnets] Relays allow *indirect* communication: +distant entities can be addressed as if they were local. Relays exchange *Syndicate Protocol* messages across a [transport](./glossary.md#transport). A *transport* is the underlying medium connecting one relay to its counterparts on a given @@ -908,6 +909,9 @@ def instantiate(template, bindings): #### Notes +[^analogy-to-subnets]: Strictly speaking, scope *subnets* are connected by relay actors. The + situation is directly analogous to IP subnets being connected by IP routers. + [^relaying-over-syndicate]: In fact, it makes perfect sense to run the relay protocol between actors that are *already connected* in some scope: this is like running a VPN, tunnelling IP over IP. A variation of the Syndicate Protocol like this gives [federated