* Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
#ifndef OMNISTREAM_JOBMANAGERTASKRESTORE_H
#define OMNISTREAM_JOBMANAGERTASKRESTORE_H
#include "runtime/checkpoint/TaskStateSnapshot.h"
namespace omnistream {
class JobManagerTaskRestore {
public:
JobManagerTaskRestore(
long long restoreCheckpointId, std::shared_ptr<TaskStateSnapshot> taskStateSnapshot)
: restoreCheckpointId(restoreCheckpointId), taskStateSnapshot(taskStateSnapshot)
{}
long getRestoreCheckpointId() const
{
return restoreCheckpointId;
}
const std::shared_ptr<TaskStateSnapshot> getTaskStateSnapshot() const
{
return taskStateSnapshot;
}
std::string toString() const
{
std::ostringstream oss;
oss << "JobManagerTaskRestore{"
<< "restoreCheckpointId="
<< restoreCheckpointId
<< ", taskStateSnapshot="
<< taskStateSnapshot->ToString()
<< '}';
return oss.str();
}
private:
static const long serialVersionUID = 1L;
long restoreCheckpointId;
const std::shared_ptr<TaskStateSnapshot> taskStateSnapshot;
};
}
#endif