シミュレーションを終了する - AWS SimSpace Weaver

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

シミュレーションを終了する

Result<void> DestroyApplication(Application&& app) を使用して、アプリケーションとシミュレーションを終了します。

他のアプリケーションは、BeginUpdateWillBlock() または BeginUpdate() への呼び出しから ErrorCode::ShuttingDown を受信すると、シミュレーションがシャットダウン中であることを認識します。アプリケーションが ErrorCode::ShuttingDown を受信すると、Result<void> DestroyApplication(Application&& app) 呼び出しを行って自動的に終了できます。

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; } } }
重要

Api::Commit() の後にのみ Result<void> DestroyApplication(Application&& app) を呼び出しできます。更新中にアプリケーションを破棄すると、未定義の動作が発生する可能性があります。

重要

プログラムが終了する前に DestroyApplication() を呼び出して、アプリケーションの正常終了レポートを確認する必要があります。

プログラムの終了時に DestroyApplication() 呼び出しに失敗すると、ステータスは FATAL とみなされます。