Finalizar una simulación - AWS SimSpace Weaver

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Finalizar una simulación

Use Result<void> DestroyApplication(Application&& app) para finalizar la aplicación y la simulación.

Otras aplicaciones descubren que la simulación se cierra cuando reciben llamadas ErrorCode::ShuttingDown a BeginUpdateWillBlock() o BeginUpdate(). Cuando una aplicación recibe ErrorCode::ShuttingDown, puede llamar a Result<void> DestroyApplication(Application&& app) para que se cierre automáticamente.

ejemplo Ejemplo
Result<void> AppDriver::EncounteredAppError(Application&& application) noexcept { const ErrorCode errorCode = WEAVERRUNTIME_EXPECT_ERROR(runAppResult); switch (errorCode) { case ErrorCode::ShuttingDown: { // insert custom shutdown process here. WEAVERRUNTIME_TRY(Api::DestroyApplication(std::move(application))); return Success(); } default: { OnAppError(errorCode); return errorCode; } } }
importante

Solo llama a Result<void> DestroyApplication(Application&& app) después de Api::Commit(). Destruir una aplicación durante una actualización puede provocar un comportamiento indefinido.

importante

Debe llamar a DestroyApplication() antes de que se cierre el programa para asegurarse de que la aplicación informa que se ha cerrado correctamente.

Si no llama a DestroyApplication() cuando el programa se cierra, el estado se considerará como FATAL.