private void HandleDeadLetter(DeadLetter message)
        {
            var msg = message.Message;
            var rcp = message.Recipient;
            var snd = message.Sender;
            if(!(msg is Terminate))
            {
                var recipientPath = rcp.Path.ToString();
                var recipientType = rcp.GetType();
                var warning = new Warning(recipientPath, recipientType, message);
                if(!ShouldFilter(warning))
                {
                    var msgStr = (msg is SystemMessage)
                        ? "Received dead system message: " + msg
                        : "Received dead letter from " + snd + ": " + msg;
                    var warning2 = new Warning(recipientPath, recipientType, new DeadLetter(msgStr,snd,rcp));
                    if(!ShouldFilter(warning2))
                    {
                        Print(warning2);
                    }
                }

            }
        }
示例#2
0
        //TODO: Since this isn't overriding SendUserMessage it doesn't handle all messages as Akka JVM does

        protected override void HandleDeadLetter(DeadLetter deadLetter)
        {
            if(!SpecialHandle(deadLetter.Message, deadLetter.Sender))
                _eventStream.Publish(deadLetter);
        }
 protected virtual void HandleDeadLetter(DeadLetter deadLetter)
 {
     SpecialHandle(deadLetter.Message, deadLetter.Sender);
 }