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); } } } }
//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); }