/// <summary> /// Send a message to the server /// </summary> /// <param name="message">The message to send.</param> /// <returns>true on success, false if the connection is fauled or an exception occurs</returns> public bool DispatchMessage(Message message) { try { if (!Faulted) { if (message is MouseMoveMessage) { PerformanceMonitor.CurrentInstance.IncrementSendLag(1); } else if (message is MouseWheelMessage) { PerformanceMonitor.CurrentInstance.IncrementMouseWheelMsgCount(1); } ApplicationActivityMonitor.Instance.LastActivityTick = Environment.TickCount; _queue.Enqueue(message); return(true); } } catch (Exception ex) { HandleException(ex); } return(false); }
public void Enqueue(Message msg) { lock (_syncLock) { _queue.Enqueue(msg); Monitor.Pulse(_syncLock); } }