@@ -6,6 +6,22 @@ template = "doc.html"
7In this lesson we're going to look at subscriptions. Subscriptions are probably
7In this lesson we're going to look at subscriptions. Subscriptions are probably
8the most complicated part of writing agents, so there's a fair bit to cover.
8the most complicated part of writing agents, so there's a fair bit to cover.
9+Before we get into the nitty-gritty details, we'll give a brief overview of
10+Gall's subscription mechanics.
12+The basic unit of subscriptions is the _path_. An agent will define a number of
13+subscription paths in its `on-watch` arm, and other agents (local or remote) can
14+subscribe to those paths. The agent will then send out updates called `%fact`s
15+on one or more of its paths, and _all_ subscribers of those paths will receive
16+them. An agent cannot send out updates to specific subscribers, it can only
17+target its paths. An agent can kick subscribers from its paths, and subscribers
18+can unsubscribe from any paths.
20+The subscription paths an agent defines can be simple and fixed like
21+`/foo/bar/baz`. They can also be dynamic, taking data of a particular atom aura
22+encoded in certain elements of the path, and then decoding it to an atom of that
23+aura. These paths can therefore be as simple or complex as you need for your
24+particular application.
10## Incoming subscriptions
26## Incoming subscriptions