I think the current documentation is certainly much better. If I were coming to
Aleph now - for the first time - I would find it a lot easier to understand the
documentation. There is a point on which I may still struggle to get a
clear understanding. This refers to the place where you mention that you use
only one half of a channel at a time.I can explain why I struggled with this
and maybe that will help your documentation.
In my mind the model of a channel was of a monolithic block where one end
was the receiver and the other the emitter. An incorrect model as I now
understand.
+--------------------------+
Receiver End ---------------> Emitter End (Channel A)
+--------------------------+
+--------------------------+
Emitter End <------------------ Receiver End (Channel B)
+--------------------------+
I visualized this model in terms of a water pipe. Where water goes in at one
end and exits at the other. One monolithic piece of plumbing. With this model
it was difficult for me to visualize how the receiver from Channel A could talk
to the emitter from Channel B.
I was missing the bigger picture. After you explained splicing it was clear
that my model of a channel was incorrect and it had to change from one monolithic piece with
the receiver and emitter at each end, to three discrete pieces. To continue with
the plumbing analogy, there is a water tank(Receiver), pipes
(although aleph may not have this) and the tap (Emitter). So I went to a model as
shown below...
1 Channel A Channel B
-->+--------+ +--------+
+--| R | +-----| R |---------+
| +--------+ | +--------+ |
| | P | | | P | ^ 3
| | | | 4 | | |
| +--------+ | +--------+ |
| | E |<----| | E |---------+
| +--------+ 2 +---^----+
+---------------->----------+
When I went to this model I realized that the relationship between the emitter
and receiver is not a one-to-one but a many-to-many relationship.
That is when it all made sense and your statement of having to use only half a
channel rang true.
This also helped me understand the echo server and the statement
(siphon server server)
Now I could visualize the flow from Channel A - Receiver to Channel B -
emitter. From there upto Channel B - Receiver and then down back to Channel A -
Emitter.(1-2-3-4)
I do not know whether this model is accurate but it certainly helps me
understand the concepts. :-)
Hope that helps or let me know if you have any questions.
Sid