Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make Subchannel internal state handling clearer (grpc#1949)
Motivation: The subchannel conflates closing (recoverable) with shutting down (terminal). Shutting down is initiated by a higher level (load-balancer, user) while closing happens when the subchannel closes unexpectedtly or is no longer required (i.e. becomes idle). A closed subchannel can be re-opeend, a shutdown subchannel can't. This distinction isn't clear enough in the state handling. Modifications: - Rename 'close' to 'shutDown' where applicable - Add a new 'shutting down' state and renaming the 'closing' state to 'going away'. - Add a state machine diagram - Fix up a few state transitions Result: More robust state handling
- Loading branch information