Mettre fin à une simulation - AWS SimSpace Weaver

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mettre fin à une simulation

Result<void> DestroyApplication(Application&& app)À utiliser pour mettre fin à l'application et à la simulation.

D'autres applications découvrent que la simulation s'arrête lorsqu'elles reçoivent ErrorCode::ShuttingDown des appels vers BeginUpdateWillBlock() ouBeginUpdate(). Lorsqu'une application reçoitErrorCode::ShuttingDown, elle peut appeler Result<void> DestroyApplication(Application&& app) pour se terminer elle-même.

Exemple
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; } } }
Important

N'appelez qu'Result<void> DestroyApplication(Application&& app)aprèsApi::Commit(). La destruction d'une application lors d'une mise à jour peut entraîner un comportement indéfini.

Important

Vous devez appeler DestroyApplication() avant la fin du programme pour vous assurer que l'application indique qu'elle s'est terminée correctement.

Si DestroyApplication() vous n'appelez pas à la fin du programme, le statut sera considéré commeFATAL.