If the subscription is the async boundary it can manage the terminated state with a volatile boolean or a -1 capacity. I would enforce this rule to be sure it can be predicted from a Subscriber perspective.