本文整理汇总了C++中rpc::RequestInterface::getCommandName方法的典型用法代码示例。如果您正苦于以下问题:C++ RequestInterface::getCommandName方法的具体用法?C++ RequestInterface::getCommandName怎么用?C++ RequestInterface::getCommandName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rpc::RequestInterface
的用法示例。
在下文中一共展示了RequestInterface::getCommandName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runCommands
void runCommands(OperationContext* txn,
const rpc::RequestInterface& request,
rpc::ReplyBuilderInterface* replyBuilder) {
try {
dassert(replyBuilder->getState() == rpc::ReplyBuilderInterface::State::kMetadata);
Command* c = nullptr;
// In the absence of a Command object, no redaction is possible. Therefore
// to avoid displaying potentially sensitive information in the logs,
// we restrict the log message to the name of the unrecognized command.
// However, the complete command object will still be echoed to the client.
if (!(c = Command::findCommand(request.getCommandName()))) {
Command::unknownCommands.increment();
std::string msg = str::stream() << "no such command: '" << request.getCommandName()
<< "'";
LOG(2) << msg;
uasserted(ErrorCodes::CommandNotFound,
str::stream() << msg << ", bad cmd: '" << request.getCommandArgs() << "'");
}
LOG(2) << "run command " << request.getDatabase() << ".$cmd" << ' '
<< c->getRedactedCopyForLogging(request.getCommandArgs());
Command::execCommand(txn, c, request, replyBuilder);
}
catch (const DBException& ex) {
Command::generateErrorResponse(txn, replyBuilder, ex, request);
}
}
示例2: generateErrorResponse
void Command::generateErrorResponse(OperationContext* txn,
rpc::ReplyBuilderInterface* replyBuilder,
const DBException& exception,
const rpc::RequestInterface& request) {
LOG(1) << "assertion while executing command '" << request.getCommandName() << "' "
<< "on database '" << request.getDatabase() << "': " << exception.toString();
_generateErrorResponse(txn, replyBuilder, exception, rpc::makeEmptyMetadata());
}