ConnectionState is an enum defining a user's current possible connection
statuses for her current local device.
"Offline" is distinct from "Disconnected":
"Offline" refers to when the system is fully without a physical / interface
link. (eg. Wifi disabled, Ethernet unplugged)
"Disconnected" refers to when Snowstorm is not connected to another Peer /
no circuit established / not actively contributing. But, the user may
currently still be online, or using some unknown VPN, or raw-dogging the
internet.
This state should be further distinguished when in "safe mode" - to fully prevent IP leak.
These are states within a State Machine, and a Snowstorm Device can only be
in one state at a time.
During App Launch, it is generally expected to be in Initializing ->
Detecting -> { Offline, Disconnected, or some other determined state }
Detecting is a state which occurs often on app launch, to determine and
re-synchronize with potential existing VPN profiles that may have
previously been established by Snowstorm.
ConnectionState is an enum defining a user's current possible connection statuses for her current local device.
"Offline" is distinct from "Disconnected":
These are states within a State Machine, and a Snowstorm Device can only be in one state at a time.
During App Launch, it is generally expected to be in Initializing -> Detecting -> { Offline, Disconnected, or some other determined state }