本文整理汇总了C++中Response::GetData方法的典型用法代码示例。如果您正苦于以下问题:C++ Response::GetData方法的具体用法?C++ Response::GetData怎么用?C++ Response::GetData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Response
的用法示例。
在下文中一共展示了Response::GetData方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Inquired
void ConnectionManager::Inquired(const Response &response)
{
QSharedPointer<Edge> edge = response.GetFrom().dynamicCast<Edge>();
if(!edge) {
qWarning() << "Received an inquired from a non-Edge: " <<
response.GetFrom()->ToString();
return;
} else if(!edge->Outbound()) {
qWarning() << "We would never make an inquire call on an" <<
"incoming edge: " << response.GetFrom()->ToString();
return;
}
QByteArray brem_id = response.GetData().toByteArray();
if(brem_id.isEmpty()) {
qWarning() << "Invalid ConnectionEstablished, no id";
return;
}
Id rem_id(brem_id);
if(_local_id < rem_id) {
BindEdge(edge, rem_id);
} else if(rem_id == _local_id) {
Address addr = edge->GetRemoteAddress();
qDebug() << "Attempting to connect to ourself";
edge->Stop("Attempting to connect to ourself");
emit ConnectionAttemptFailure(addr, "Attempting to connect to ourself");
}
}
示例2: Registered
void Session::Registered(const Response &response)
{
if(Stopped()) {
return;
}
if(response.Successful() && response.GetData().toBool()) {
qDebug() << GetPrivateIdentity().GetLocalId() << "registered and waiting to go.";
return;
}
if(!_register_event.Stopped()) {
qDebug() << "Almost started two registration attempts simultaneously!";
return;
}
int delay = 5000;
if(response.GetErrorType() == Response::Other) {
delay = 60000;
}
qDebug() << "Unable to register due to" << response.GetError() <<
"Trying again later.";
Dissent::Utils::TimerCallback *cb =
new Dissent::Utils::TimerMethod<Session, int>(this, &Session::Register, 0);
_register_event = Dissent::Utils::Timer::GetInstance().QueueCallback(cb, delay);
}
示例3: Challenged
void Session::Challenged(const Response &response)
{
if(Stopped()) {
return;
}
if(response.Successful()) {
QPair<bool, QVariant> auth = _auth->ProcessChallenge(response.GetData());
if(auth.first) {
qDebug() << "Sending challenge response";
SendChallenge(false, auth.second);
return;
}
qDebug() << "Received an invalid challenge, retrying.";
}
if(!_register_event.Stopped()) {
qDebug() << "Almost started two registration attempts simultaneously!";
return;
}
int delay = 5000;
if(response.GetErrorType() == Response::Other) {
delay = 60000;
}
qDebug() << "Unable to register due to" << response.GetError() <<
"Trying again later.";
Dissent::Utils::TimerCallback *cb =
new Dissent::Utils::TimerMethod<Session, int>(this, &Session::Register, 0);
_register_event = Dissent::Utils::Timer::GetInstance().QueueCallback(cb, delay);
}
示例4: 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);
}
示例5: ServerStateResponse
void CSConnectionAcquirer::ServerStateResponse(const Response &response)
{
QSharedPointer<Connection> con = response.GetFrom().dynamicCast<Connection>();
if(!con) {
qCritical() << "Received an rpc request from a non-connection.";
return;
}
Id remote = con->GetRemoteId();
QVariantHash msg = response.GetData().toHash();
QHash<QByteArray, QUrl> id_to_addr;
QDataStream stream(msg.value("list").toByteArray());
stream >> id_to_addr;
int cons = msg.value("connections").toInt();
if(IsServer()) {
ServerHandleServerStateResponse(remote, id_to_addr, cons);
} else {
ClientHandleServerStateResponse(remote, id_to_addr, cons);
}
}