Esempio n. 1
0
        private void DisconnectFromWebSocket()
        {
            Monitor.Stop();

            var task = new SocketDisconnectTask();

            task.Completed += OnDisconnected;
            Socket.QueueDisconnect(task);
        }
Esempio n. 2
0
        public virtual void Disconnect(Object state)
        {
            if (!disconnecting)
            {
                disconnecting = true;

                Monitor.Stop();

                var task = new SocketDisconnectTask {
                    UserToken = state
                };

                task.Completed += OnDisconnected;
                Socket.QueueDisconnect(task);
            }
        }
Esempio n. 3
0
 public void QueueDisconnect(SocketDisconnectTask task)
 {
     lock (discQueue) discQueue.Enqueue(task);
 }
Esempio n. 4
0
 public static void QueueDisconnect(this Socket socket, SocketDisconnectTask task)
 {
     task.Socket    = socket ?? throw new ArgumentNullException("socket", "socket cannot be null");
     task.Exception = null;
     IO.QueueDisconnect(task);
 }