Hi Kai, again
Having a single cleanup path would be easier, but I think in the end it comes down to how cleanly you can track the opened state. It seems biggest issue is how to cleanly track the component-substream pairs. Ideally we'd have a dedicated state object to represent an opened component-substream pair, but that's not how the APIs are defined now. But something to that effect is needed.
Yeah, I can understand your concern, but not 100% yet. In my understanding, counting start vs stop is not enough but not so bad. If my understanding was correct, your concern is counting only is not enough, because wrong component-substream pair can be used, like this ?
start(substream-A); <= start(substream-B); start(substream-C);
stop(substream-Z); <= stop(substream-B); stop(substream-C);
But I wonder is it really happen ?
Ohh, yes indeed !! I was confused. But Hmm... I don't want to have substream list on each component... Hmm... I will re-consider it again.
Thank you for your help !! Best regards --- Kuninori Morimoto