/// <summary>
 /// This state can be updated to <see cref="BayeuxClientStates.Connecting"/>,
 /// or <see cref="BayeuxClientStates.ReHandshaking"/>, or <see cref="BayeuxClientStates.Disconnected"/> state only.
 /// </summary>
 public override bool IsUpdateableTo(BayeuxClientState newState)
 {
     return(newState != null &&
            (newState.Type & (BayeuxClientStates.Connecting
                              | BayeuxClientStates.ReHandshaking
                              | BayeuxClientStates.Disconnected)) > 0);
 }
 /// <summary>
 /// This state can be updated to <see cref="BayeuxClientStates.Disconnected"/> state only.
 /// </summary>
 public override bool IsUpdateableTo(BayeuxClientState newState)
 {
     return(newState != null &&
            (newState.Type & BayeuxClientStates.Disconnected) > 0);
 }
 /// <summary>
 /// This state can be updated to <see cref="BayeuxClientStates.Handshaking"/> state only.
 /// </summary>
 public override bool IsUpdateableTo(BayeuxClientState newState)
 {
     return(newState != null &&
            (newState.Type & BayeuxClientStates.Handshaking) > 0);
 }
 /// <summary>
 /// Checks if this client session state can be updated to the specified new state.
 /// </summary>
 public abstract bool IsUpdateableTo(BayeuxClientState newState);
		/// <summary>
		/// This state can be updated to <see cref="BayeuxClientStates.Disconnected"/> state only.
		/// </summary>
		public override bool IsUpdateableTo(BayeuxClientState newState)
		{
			return (newState != null
				&& (newState.Type & BayeuxClientStates.Disconnected) > 0);
		}
		/// <summary>
		/// This state can be updated to <see cref="BayeuxClientStates.Connected"/>,
		/// or <see cref="BayeuxClientStates.Unconnected"/>, or <see cref="BayeuxClientStates.ReHandshaking"/>,
		/// or <see cref="BayeuxClientStates.Disconnected"/> state only.
		/// </summary>
		public override bool IsUpdateableTo(BayeuxClientState newState)
		{
			return (newState != null
				&& (newState.Type & (BayeuxClientStates.Connected
					| BayeuxClientStates.Unconnected
					| BayeuxClientStates.ReHandshaking
					| BayeuxClientStates.Disconnected)) > 0);
		}
		/// <summary>
		/// This state can be updated to <see cref="BayeuxClientStates.Handshaking"/> state only.
		/// </summary>
		public override bool IsUpdateableTo(BayeuxClientState newState)
		{
			return (newState != null
				&& (newState.Type & BayeuxClientStates.Handshaking) > 0);
		}
		/// <summary>
		/// Checks if this client session state can be updated to the specified new state.
		/// </summary>
		public abstract bool IsUpdateableTo(BayeuxClientState newState);