翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
シミュレーションを更新する
以下の BeginUpdate
関数を使用してアプリケーションを更新します。
Result<Transaction> BeginUpdate(Application& app)
Result<bool> BeginUpdateWillBlock(Application& app)
—BeginUpdate()
がブロックするかしないかを伝えます。
Result<void> Commit(Transaction& txn)
を使用して、以下の変更をコミットします。
例
Result<void> AppDriver::RunSimulation(Api::Application app) noexcept { while (true) { { bool willBlock; do { WEAVERRUNTIME_TRY(willBlock, Api::BeginUpdateWillBlock(m_app)); } while (willBlock); } WEAVERRUNTIME_TRY(Transaction transaction, Api::BeginUpdate(app)); /** * Simulate app. */ WEAVERRUNTIME_TRY(Simulate(transaction)); WEAVERRUNTIME_TRY(Api::Commit(std::move(transaction))); } return Success(); }