本文整理汇总了C++中WriteErrorDetail::cloneTo方法的典型用法代码示例。如果您正苦于以下问题:C++ WriteErrorDetail::cloneTo方法的具体用法?C++ WriteErrorDetail::cloneTo怎么用?C++ WriteErrorDetail::cloneTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WriteErrorDetail
的用法示例。
在下文中一共展示了WriteErrorDetail::cloneTo方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setOpError
void WriteOp::setOpError(const WriteErrorDetail& error) {
dassert(_state == WriteOpState_Ready);
_error.reset(new WriteErrorDetail);
error.cloneTo(_error.get());
_error->setIndex(_itemRef.getItemIndex());
_state = WriteOpState_Error;
// No need to updateOpState, set directly
}
示例2: noteWriteError
void WriteOp::noteWriteError(const TargetedWrite& targetedWrite, const WriteErrorDetail& error) {
const WriteOpRef& ref = targetedWrite.writeOpRef;
auto& childOp = _childOps[ref.second];
childOp.pendingWrite = NULL;
childOp.endpoint.reset(new ShardEndpoint(targetedWrite.endpoint));
childOp.error.reset(new WriteErrorDetail);
error.cloneTo(childOp.error.get());
dassert(ref.first == _itemRef.getItemIndex());
childOp.error->setIndex(_itemRef.getItemIndex());
childOp.state = WriteOpState_Error;
_updateOpState();
}
示例3: toWriteErrorResponse
static void toWriteErrorResponse(const WriteErrorDetail& error,
bool ordered,
int numWrites,
BatchedCommandResponse* writeErrResponse) {
writeErrResponse->setOk(true);
writeErrResponse->setN(0);
int numErrors = ordered ? 1 : numWrites;
for (int i = 0; i < numErrors; i++) {
unique_ptr<WriteErrorDetail> errorClone(new WriteErrorDetail);
error.cloneTo(errorClone.get());
errorClone->setIndex(i);
writeErrResponse->addToErrDetails(errorClone.release());
}
dassert(writeErrResponse->isValid(NULL));
}