The broadcast subscriber waited 1 << retry_count.max(6) seconds between failed subscribe attempts. max(6) turns the cap into a floor: the first retry waited 64 s instead of 1 s, and each later one doubled without a bound (and would overflow the shift after enough failures). The delay now comes from subscribe_retry_delay(), 1 s, 2 s, 4 s ... capped at 64 s, and the retry counter saturates. A unit test pins the schedule and the top of the range.