relay: Decouple streams blocked on channel
The streams_blocked_on_n_chan
and streams_blocked_on_p_chan
are set if the cell queue of the circuit is above the high watermark (256). And unblocked if the queue goes back below low watermark (10).
However, conflux and congestion control need more than that to decide if the streams ends up actually blocked.
So, in order to do that, we'll decouple this logic outside into the circuit subsystem in order to be able to make a decision based on different algorithms that can look at:
- Conflux state
- Congestion control state
- KIST scheduling state
- High and low watermark.