The upper half of the multiplexer acts like the end of the upper Stream. The lower half of the multiplexer acts like the head of the lower Stream. Service procedures are used for flow control.
Message routing is based on multiplexe-specific criteria.
When one Stream is being fed by many Streams, flow control may have to take place. Then all feeding Streams on the other end of the multiplexer have to be enabled when the flow control is relieved.
When one Stream is feeding many Streams, flow control may also have to take place. Be careful not to starve other Streams when one becomes flow controlled.