当前位置: 首页>>代码示例>>C++>>正文


C++ Response::GetData方法代码示例

本文整理汇总了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");
    }
  }
开发者ID:ASchurman,项目名称:Dissent,代码行数:31,代码来源:ConnectionManager.cpp

示例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);
  }
开发者ID:kritarthanand,项目名称:Dissent-Faceless,代码行数:27,代码来源:Session.cpp

示例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);
  }
开发者ID:kritarthanand,项目名称:Dissent-Faceless,代码行数:33,代码来源:Session.cpp

示例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);
  }
开发者ID:ASchurman,项目名称:Dissent,代码行数:36,代码来源:RpcHandler.cpp

示例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);
    }
  }
开发者ID:ASchurman,项目名称:Dissent,代码行数:22,代码来源:CSConnectionAcquirer.cpp


注:本文中的Response::GetData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。