private void ResendMessageImpl(Message message, ActivationAddress forwardingAddress = null) { if (logger.IsVerbose) { logger.Verbose("Resend {0}", message); } message.SetMetadata(Message.Metadata.TARGET_HISTORY, message.GetTargetHistory()); if (message.TargetGrain.IsSystemTarget) { dispatcher.SendSystemTargetMessage(message); } else if (forwardingAddress != null) { message.TargetAddress = forwardingAddress; message.RemoveHeader(Message.Header.IS_NEW_PLACEMENT); dispatcher.Transport.SendMessage(message); } else { message.RemoveHeader(Message.Header.TARGET_ACTIVATION); message.RemoveHeader(Message.Header.TARGET_SILO); dispatcher.SendMessage(message); } }
private void ResendMessageImpl(Message message, ActivationAddress forwardingAddress = null) { if (logger.IsVerbose) { logger.Verbose("Resend {0}", message); } message.TargetHistory = message.GetTargetHistory(); if (message.TargetGrain.IsSystemTarget) { dispatcher.SendSystemTargetMessage(message); } else if (forwardingAddress != null) { message.TargetAddress = forwardingAddress; message.IsNewPlacement = false; dispatcher.Transport.SendMessage(message); } else { message.TargetActivation = null; message.TargetSilo = null; message.ClearTargetAddress(); dispatcher.SendMessage(message); } }