コード例 #1
0
ファイル: MessageTask.cs プロジェクト: cccnam5158/reef
        public void Handle(IDriverMessage value)
        {
            try
            {
                if (!value.Message.IsPresent())
                {
                    throw new Exception("Expecting message from Driver but got missing message.");
                }

                var message = ByteUtilities.ByteArraysToString(value.Message.Value);
                if (!message.Equals(MessageDriver.Message))
                {
                    Exceptions.Throw(new Exception("Unexpected driver message: " + message),
                                     "Unexpected driver message received: " + message,
                                     Logger);
                }
                else
                {
                    Logger.Log(Level.Info, MessageReceivedFromDriverLog);
                }
            }
            finally
            {
                _messageFromDriverEvent.Set();
            }
        }
コード例 #2
0
ファイル: MessageTask.cs プロジェクト: beomyeol/reef
        public void Handle(IDriverMessage value)
        {
            try
            {
                if (!value.Message.IsPresent())
                {
                    throw new Exception("Expecting message from Driver but got missing message.");
                }

                var message = ByteUtilities.ByteArraysToString(value.Message.Value);
                if (!message.Equals(MessageDriver.Message))
                {
                    Exceptions.Throw(new Exception("Unexpected driver message: " + message),
                        "Unexpected driver message received: " + message,
                        Logger);
                }
                else
                {
                    Logger.Log(Level.Info, MessageReceivedFromDriverLog);
                }
            }
            finally
            {
                _messageFromDriverEvent.Set();
            }
        }
コード例 #3
0
        public void Handle(IDriverMessage message)
        {
            SimulatedTaskFailure ex = new SimulatedTaskFailure("FailTaskMsg.send() invoked.");

            Log.Log(Level.Info, "FailTaskMsg.send() invoked: {0}", ex);
            throw ex;
        }
コード例 #4
0
ファイル: TaskRuntime.cs プロジェクト: beysims/reef
        public void OnNext(IDriverMessage value)
        {
            IDriverMessageHandler messageHandler = null;

            LOGGER.Log(Level.Info, "TaskRuntime::OnNext(IDriverMessage value)");
            try
            {
                messageHandler = _injector.GetInstance <IDriverMessageHandler>();
            }
            catch (Exception e)
            {
                Org.Apache.Reef.Utilities.Diagnostics.Exceptions.CaughtAndThrow(e, Level.Error, "Received Driver message, but unable to inject handler for driver message ", LOGGER);
            }
            if (messageHandler != null)
            {
                try
                {
                    messageHandler.Handle(value);
                }
                catch (Exception e)
                {
                    Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Caught(e, Level.Warning, "Exception throw when handling driver message: " + e, LOGGER);
                    _currentStatus.RecordExecptionWithoutHeartbeat(e);
                }
            }
        }
コード例 #5
0
ファイル: TaskRuntime.cs プロジェクト: wonook/reef
        /// <summary>
        /// Call Handle on the user's DriverMessageHandler.
        /// If the user's handler throws an Exception, the Exception will bubble up as
        /// an Evaluator Exception and fail the Evaluator.
        /// </summary>
        public void OnNext(IDriverMessage value)
        {
            Logger.Log(Level.Verbose, "TaskRuntime::OnNext(IDriverMessage value)");

            if (!_driverMessageHandler.IsPresent())
            {
                return;
            }

            _driverMessageHandler.Value.Handle(value);
        }
コード例 #6
0
 /// <summary>
 /// Handler for DriverMessage.
 /// </summary>
 /// <param name="driverMessage"></param>
 public void Handle(IDriverMessage driverMessage)
 {
     byte[] msg = driverMessage.Message.Value;
     Log.Log(Level.Info,
             "NoopTask.DriverMessageHandler.Handle() invoked: {0}",
             ByteUtilities.ByteArraysToString(msg));
     lock (this)
     {
         _message = Utilities.Optional <TaskMessage> .Of(TaskMessage.From("nooptask", msg));
     }
 }
コード例 #7
0
            public void Handle(IDriverMessage value)
            {
                string message = string.Empty;

                LOGGER.Log(Level.Verbose, "Received a message from driver, handling it with MessagingDriverMessageHandler");
                if (value.Message.IsPresent())
                {
                    message = ByteUtilities.ByteArraysToString(value.Message.Value);
                }
                _parentTask.DriverMessage(message);
            }
コード例 #8
0
            public void Handle(IDriverMessage value)
            {
                var message = ByteUtilities.ByteArraysToString(value.Message.Value);

                if (message.Equals(FailSignal))
                {
                    Environment.Exit(1);
                }
                else
                {
                    _countdownEvent.Signal();
                }
            }
コード例 #9
0
ファイル: TestResubmitTask.cs プロジェクト: cccnam5158/reef
            /// <summary>
            /// Expect the message from driver. If the message is the same as what is sent from driver, signal the task to properly return
            /// Otherwise, throw exception which would cause an unexpected failed task therefore failed test verification.
            /// </summary>
            /// <param name="value"></param>
            public void Handle(IDriverMessage value)
            {
                var message = ByteUtilities.ByteArraysToString(value.Message.Value);

                Logger.Log(Level.Info, "Complete task message received in task:" + message);
                if (message.Equals(CompleteTaskCommandFromDriver))
                {
                    _suspendSignal.Signal();
                }
                else
                {
                    Logger.Log(Level.Error, UnExpectedCompleteMessage);
                    throw new Exception(UnExpectedCompleteMessage);
                }
            }
コード例 #10
0
ファイル: TaskRuntime.cs プロジェクト: TaeHunKim/reef
        public void OnNext(IDriverMessage value)
        {
            Logger.Log(Level.Info, "TaskRuntime::OnNext(IDriverMessage value)");

            if (_driverMessageHandler.Value == null)
            {
                return;
            }
            try
            {
                _driverMessageHandler.Value.Handle(value);
            }
            catch (Exception e)
            {
                Utilities.Diagnostics.Exceptions.Caught(e, Level.Warning, "Exception throw when handling driver message: " + e, Logger);
                _currentStatus.SetException(e);
            }
        }
コード例 #11
0
 public void Handle(IDriverMessage message)
 {
     Utilities.Diagnostics.Exceptions.Throw(new InvalidOperationException("No DriverMessage handler bound. Message received" + message), Logger);
 }
コード例 #12
0
 public void Handle(IDriverMessage message)
 {
     Utilities.Diagnostics.Exceptions.Throw(new InvalidOperationException("No DriverMessage handler bound. Message received" + message), Logger);
 }
コード例 #13
0
 public void Handle(IDriverMessage message)
 {
     _countdownEvent.Signal();
 }
コード例 #14
0
ファイル: HelloTask.cs プロジェクト: kijungs/incubator-reef
 public void Handle(IDriverMessage value)
 {
     string message = string.Empty;
     LOGGER.Log(Level.Verbose, "Receieved a message from driver, handling it with HelloDriverMessageHandler");
     if (value.Message.IsPresent())
     {
         message = ByteUtilities.ByteArrarysToString(value.Message.Value);
     }
     _parentTask.HandleDriverMessage(message);
 }
コード例 #15
0
 public void Handle(IDriverMessage message)
 {
     throw new TestSerializableException(ExpectedExceptionMessage);
 }
コード例 #16
0
 public void Handle(IDriverMessage value)
 {
     string message = string.Empty;
     if (value.Message.IsPresent())
     {
         message = ByteUtilities.ByteArraysToString(value.Message.Value);
         LOGGER.Log(Level.Info, "Received a message from driver, handling it with MessagingDriverMessageHandler:" + message);
     }
     _parentTask.DriverMessage(message);
 }
コード例 #17
0
ファイル: HelloRestartTask.cs プロジェクト: dkm2110/veyor
 public void Handle(IDriverMessage message)
 {
     Logger.Log(Level.Verbose, "Received a message from driver. We should exit now...");
     _exit = true;
 }
コード例 #18
0
 public void Handle(IDriverMessage message)
 {
     Logger.Log(Level.Verbose, "Receieved a message from driver. We should exit now...");
     _exit = true;
 }
コード例 #19
0
 public void Handle(IDriverMessage message)
 {
     Exceptions.Throw(new InvalidOperationException("No DriverMessage handler bound. Message received" + message), LOGGER);
 }