private bool PrivateStatefulFunctions(PrivateEndPoint endPoint, MessageSource source, string message) { lock (stateLock) { var state = states.GetValueOrDefault(source.FromQq, null); if (state != null) { (bool handled, IFunction newState) = state.ProcessMessage(endPoint, source, message); if (handled) { //if (newState != null) // states.ReplaceOrInsert(source.FromQq, newState); //else states.Delete(source.FromQq); states.ReplaceOrDelete(source.FromQq, newState); return(true); } } else {// state = null; bool handled; IFunction newState; (handled, newState) = new AdminAddRemove().ProcessMessage(endPoint, source, message); if (handled) { states.ReplaceOrDelete(source.FromQq, newState); return(true); } } return(false); } }
public override int GetHashCode() { unchecked { return(((PrivateEndPoint != null ? PrivateEndPoint.GetHashCode() : 0) * 397) ^ (PublicEndPoint != null ? PublicEndPoint.GetHashCode() : 0)); } }
public bool ProcessPrivateMessage(PrivateEndPoint endPoint, MessageSource source, string message) { return(PrivateManage(endPoint.UserId, message)); }