Example #1
0
        /// <summary>
        /// 通知引擎所有任务已经完成。这将导致客户端收到任务结束事件,并回收该任务激活器。
        /// </summary>
        /// <param name="args">任务结束事件参数。</param>
        protected void OnTerminateActivator(TaskOverEventArgs args)
        {
            Message message = Message.CreateSystemMessage((Int32)SystemMessageCode.TaskOverEvent, args);

            OnSend(message);
            RequestTerminateTask.Invoke();
        }
Example #2
0
        private void Receive()
        {
            Message message = null;

            while (!_requestStop)
            {
                message = _transceiver.Receive();
                if (message != null)
                {
                    switch (message.Code)
                    {
                    case (Int32)SystemMessageCode.TaskOverEvent:
                    {
                        Terminate();
                        TaskOverEventArgs args = message.GetContent <TaskOverEventArgs>();
                        OnTaskOver(args);
                    }
                    break;

                    case (Int32)SystemMessageCode.ActivatorErrorEvent:
                    {
                        Terminate();
                        ActivatorErrorEventArgs args = message.GetContent <ActivatorErrorEventArgs>();
                        OnActivatorError(args);
                    }
                    break;

                    default:
                        ReceiveCallback?.Invoke(message);
                        break;
                    }
                }
            }
        }
Example #3
0
 /// <summary>
 /// 触发任务结束事件。
 /// </summary>
 /// <param name="args">事件参数。</param>
 private void OnTaskOver(TaskOverEventArgs args)
 {
     TaskOver?.Invoke(this, args);
 }