Esempio n. 1
0
        private async void Push(Object state)
        {
            if (Queue.Count == 0)
            {
                return;
            }

            var ss = Consumers.ToValueArray();

            if (ss.Length == 0)
            {
                return;
            }

            while (Queue.Count > 0)
            {
                // 消息出列
                var msg = Queue.Dequeue();
                // 向每一个订阅者推送消息
                try
                {
                    await Dispatch(msg, ss);
                }
                catch { }
            }
        }
Esempio n. 2
0
File: Topic.cs Progetto: eboxmaker/X
        private async void Push(Object state)
        {
            if (Queue.Count == 0)
            {
                return;
            }

            var ss = Consumers.ToValueArray();

            if (ss.Length == 0)
            {
                return;
            }

            // 消息出列
            Message msg = null;

            while (Queue.TryDequeue(out msg))
            {
                // 向每一个订阅者推送消息
                try
                {
                    await Dispatch(msg, ss);
                }
                catch { }
            }
        }