Looking at the current state of affairs, TweetStreamConsumer is going to call onStreamEnded when an IOException occurs. Such (network) exception can happen for a variety of reasons and some of them are recoverable by attempting to closed and open the socket again. For instance operational-disconnect should be recoverable.
While the listener offers an exit strategy, the onus is on the user and that feels something the library could offer for everyone.
See also: