本文整理汇总了C++中Response::SerializeToString方法的典型用法代码示例。如果您正苦于以下问题:C++ Response::SerializeToString方法的具体用法?C++ Response::SerializeToString怎么用?C++ Response::SerializeToString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Response
的用法示例。
在下文中一共展示了Response::SerializeToString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: deriveSecret
string deriveSecret(string job, Registry registry)
{
// get the master secret value from the registry
byte* master = (byte*) (registry.find("master")->second).c_str();
// Generate the salt
byte* salt = generateRandomSalt(DEFAULT_SALT_SIZE);
// Derivate the key
byte* okm = deriveKey(256, (byte*) master, 256, salt, 256);
cout << "salt" << endl << salt << endl << endl;
cout << "okm" << endl << okm << endl << endl;
cout << "master" << endl << master << endl << endl;
// return the OKM and the salt XXX check that sizeof is doing what's
// intended
Response resp;
resp.set_salt(&salt, 256);
resp.set_secret(&okm, 256);
string string_resp;
resp.SerializeToString(&string_resp);
return string_resp;
}
示例2: run
void ProxyServer::run() {
TRACE(std::cout, "");
zmq::context_t context(1);
zmq::socket_t socket(context, ZMQ_REP);
std::string addr = m_protocol + "://*:" + m_port;
socket.bind(addr.c_str());
while (true) {
TRACE(std::cout, "");
zmq::message_t z_req;
socket.recv(&z_req);
std::string s_req((char *)z_req.data(),
z_req.size());
Request req;
req.ParseFromString(s_req);
// if trace is in Request_Header, then change log level of appender
// to trace
if (m_msgDriver->requestHasTrace(req)) {
TRACE(std::cout, "");
logger->setLevel(log4cxx::Level::getTrace());
}
if (m_reqPrinter) {
TRACE(std::cout, "");
LOG4CXX_TRACE(logger, "Request: "<<(m_reqPrinter(req)));
}
Response *resp = NULL;
// All the anlytics will be logged in this function
switch (req.header().type()) {
case Request_Header_Type_LOOKUP:
{
TRACE(std::cout, "");
try {
m_worker->lookup(req);
} catch (KeyNotFoundException &e) {
TRACE(std::cout, "");
LOG4CXX_DEBUG(logger, "Key not found in store: "
<<e.what());
}
resp = m_worker->response();
break;
}
case Request_Header_Type_INSERT:
{
TRACE(std::cout, "");
try {
m_worker->insert(req);
} catch (KeyPresentException &e) {
TRACE(std::cout, "");
LOG4CXX_DEBUG(logger, "Key already present in"
" store: "<<e.what());
} catch (InsertionException &e) {
TRACE(std::cout, "");
LOG4CXX_DEBUG(logger, "Insertion error: "
<<e.what());
}
resp = m_worker->response();
break;
}
case Request_Header_Type_REMOVE:
{
TRACE(std::cout, "");
try {
m_worker->remove(req);
} catch (KeyNotFoundException &e) {
TRACE(std::cout, "");
LOG4CXX_DEBUG(logger, "Key not found in store: "
<<e.what());
} catch (DeletionException &e) {
TRACE(std::cout, "");
LOG4CXX_DEBUG(logger, "Deletion error: "
<<e.what());
}
resp = m_worker->response();
break;
}
default:
{
TRACE(std::cout, "");
break;
}
};
if (m_respPrinter) {
TRACE(std::cout, "");
LOG4CXX_TRACE(logger, "Response : "<<(m_respPrinter(*resp)));
}
std::string s_resp;
resp->SerializeToString(&s_resp);
delete resp;
zmq::message_t reply(s_resp.size());
memcpy((void *)reply.data(), (void *)s_resp.c_str(),
s_resp.size());
socket.send(reply);
}
}