Need standard vocabulary for conflux set/ circuit bundle / etc; update specs accordingly.
In classic Tor, our multiplexing hierarchy goes (Model "Classic"):
- N streams share 1 circuit
- N circuits share 1 channel
With the advent of conflux, our hierarchy becomes (Model "A"):
- N streams share 1 conflux set
- Each conflux set is comprised of N circuits
- N circuits share 1 channel.
Alternatively, we could also say it like this (Model "B"):
- N streams share either 1 circuit or 1 conflux set.
- Each conflux set is comprised of N > 1 circuits.
- N circuits share one channel.
So, for our first task, we should decide which model we are using. I prefer "Model A", since it is unconditional.
For our second task, we need to update our vocabulary in order to reflect this change.
We should pick a standard term for these sets of circuits. I don't love using "conflux set" or "set" in the code; "set" is too vague, and "conflux set" is a little iffy, since (in model A) these sets conceptually exist even when we are not using conflux.
I suggest "circuit bundle", or a "bundle" for short. (Maybe a "cable" if we like metaphors better.) We may want to have a special term for a circuit that in a bundle all by itself, or for a bundle that contains more than one circuit.
For our third task, we should edit our specs so that when it describes the relationship between streams and circuits, it is no longer conflux-unaware, but instead it describes describes streams as being attached to a set/bundle/cable.