Encerrar uma simulação - AWS SimSpace Weaver

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Encerrar uma simulação

Use Result<void> DestroyApplication(Application&& app) para encerrar o aplicativo e a simulação.

Outros aplicativos descobrem que a simulação é encerrada quando recebem ErrorCode::ShuttingDown de chamadas para BeginUpdateWillBlock() ou BeginUpdate(). Quando um aplicativo recebe ErrorCode::ShuttingDown, ele pode chamar Result<void> DestroyApplication(Application&& app) para se encerrar.

exemplo Exemplo
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

Apenas chame Result<void> DestroyApplication(Application&& app) após Api::Commit(). Destruir um aplicativo durante uma atualização pode causar um comportamento indefinido.

Importante

Você deve chamar DestroyApplication() antes do encerramento do programa para garantir que o aplicativo seja relatado como encerrado com êxito.

Deixar de chamar DestroyApplication() quando o programa for encerrado fará com que o status seja considerado como FATAL.