What are the possible transitions within NWConnection.State?
Are cancelled and failed both terminal states? (Implying that I should drop the connection and attempt to set up a new one if I want to reconnect?)
The common flow of setup -> preparing -> ready I've observed, but I wasn't sure how waiting fit in.
What transitions are legal (and managed) by NWConnection?
(mermaid couldn't handle this diagram - but I wrote it out anyway) Are these transitions all valid?
[*] --> setup
cancelled --> [*]
failed --> [*]
setup --> preparing
preparing -> ready
preparing -> cancelled
preparing -> failed
ready -> waiting
ready -> failed
ready -> cancelled
waiting -> cancelled
waiting -> preparing
waiting -> failed