public override void Post(IActorRef receiver, Envelope envelope)
{
var message = envelope.Message;
if(message is ISystemMessage)
{
Mailbox.DebugPrint("DeadLetterMailbox forwarded system message " + envelope+ " as a DeadLetter");
_deadLetters.Tell(new DeadLetter(message, receiver, receiver), receiver);
}
else if(message is DeadLetter)
{
//Just drop it like it's hot
Mailbox.DebugPrint("DeadLetterMailbox dropped DeadLetter " + envelope);
}
else
{
Mailbox.DebugPrint("DeadLetterMailbox forwarded message " + envelope + " as a DeadLetter");
var sender = envelope.Sender;
_deadLetters.Tell(new DeadLetter(message, sender, receiver),sender);
}
}