示例#1
0
文件: FailDriver.cs 项目: wonook/reef
 public void OnNext(ITaskMessage msg)
 {
     CheckMsgOrder(msg);
     Debug.Assert(Enumerable.SequenceEqual(HelloStringByteArray, msg.Message));
     Debug.Assert(_state == DriverState.SendMsg);
     _state = DriverState.Suspend;
     _clock.ScheduleAlarm(MsgDelay, this);
 }
示例#2
0
        public void OnNext(ITaskMessage taskMessage)
        {
            string msgReceived = ByteUtilities.ByteArrarysToString(taskMessage.Message);

            LOGGER.Log(Level.Info, string.Format(CultureInfo.InvariantCulture, "CLR TaskMessagingTaskMessageHandler received following message from Task: {0}, Message: {1}.", taskMessage.TaskId, msgReceived));

            if (!msgReceived.StartsWith(MessageTask.MessageSend, true, CultureInfo.CurrentCulture))
            {
                Exceptions.Throw(new Exception("Unexpected message: " + msgReceived), "Unexpected task message received: " + msgReceived, LOGGER);
            }
        }
示例#3
0
        public void OnNext(ITaskMessage taskMessage)
        {
            var msgReceived = ByteUtilities.ByteArraysToString(taskMessage.Message);

            if (!msgReceived.Equals(MessageTask.MessageSend))
            {
                var errorMessage = "Unexpected task message received: " + msgReceived + ". Expected: " +
                                   MessageTask.MessageSend;
                Exceptions.Throw(new Exception(errorMessage), errorMessage, Logger);
            }
            else if (!taskMessage.MessageSourceId.Equals(MessageTask.MessageTaskSourceId))
            {
                var errorMessage = "Unexpected TaskMessage.MessageSourceId received: " + taskMessage.MessageSourceId +
                                   ". Expected: " + MessageTask.MessageTaskSourceId;
                Exceptions.Throw(new Exception(errorMessage), errorMessage, Logger);
            }
            else
            {
                Logger.Log(Level.Info, DriverReceivedTaskMessageLog);
            }
        }
示例#4
0
        public static byte[] SerializeMessage(ITaskMessage message)
        {
            string json = null;

            if (message is ProgressMessage)
            {
                var progressMessage = message as ProgressMessage;
                json = JsonConvert.SerializeObject(progressMessage);
            }
            else if (message is BlockUpscalling)
            {
                var upscallingMessage = message as BlockUpscalling;
                json = JsonConvert.SerializeObject(upscallingMessage);
            }
            else if (message is ResultMessage)
            {
                var resultMessage = message as ResultMessage;
                json = JsonConvert.SerializeObject(resultMessage);
            }

            return(Encoding.UTF8.GetBytes(json));
        }
示例#5
0
 public async Task DispatchTaskMessageEvent(ITaskMessage taskMessageEvent)
 {
     await DispatchAsync(_taskMessageDispatcher, taskMessageEvent);
 }