本文整理汇总了C++中Response::GetId方法的典型用法代码示例。如果您正苦于以下问题:C++ Response::GetId方法的具体用法?C++ Response::GetId怎么用?C++ Response::GetId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Response
的用法示例。
在下文中一共展示了Response::GetId方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HandleResponse
void RpcHandler::HandleResponse(const Response &response)
{
int id = response.GetId();
if(id == 0) {
#ifdef RESPOND_NOTIFICATION
if(response.GetData().toString() == Request::NotificationType) {
return;
}
#endif
qWarning() << "RpcHandler: Response: No ID, from" <<
response.GetFrom()->ToString();
return;
}
QSharedPointer<RequestState> state = _requests[id];
if(!state) {
if(response.GetData().toString() == Request::NotificationType) {
return;
}
qWarning() << "RpcHandler: Response: No handler for" << id;
return;
}
if(state->GetSender() != response.GetFrom()) {
qDebug() << "Received a response from a different source than " <<
"the path the request was sent by. Sent by:" <<
state->GetSender()->ToString() << "Received by:" <<
response.GetFrom()->ToString();
// Eventually we need to not allow this behavior, but that means making
// better equality comparator
}
state->StopTimer();
_requests.remove(id);
state->GetResponseHandler()->RequestComplete(response);
}