コード例 #1
0
ファイル: RpcHandler.cpp プロジェクト: ASchurman/Dissent
  void RpcHandler::SendNotification(const QSharedPointer<ISender> &to,
      const QString &method, const QVariant &data)
  {
    int id = IncrementId();
    QVariantList container = Request::BuildNotification(id, method, data);

    QByteArray msg;
    QDataStream stream(&msg, QIODevice::WriteOnly);
    stream << container;

    qDebug() << "RpcHandler: Sending notification" << id << "for" << method <<
      "to" << to->ToString();
    to->Send(msg);
  }
コード例 #2
0
ファイル: RpcHandler.cpp プロジェクト: ASchurman/Dissent
  int RpcHandler::SendRequest(const QSharedPointer<ISender> &to,
      const QString &method, const QVariant &data,
      const QSharedPointer<ResponseHandler> &cb, bool timeout)
  {
    int id = IncrementId();
    qint64 ctime = Utils::Time::GetInstance().MSecsSinceEpoch();

    TimerCallback *callback = new TimerCallback(this, &RpcHandler::Timeout, id);
    Utils::TimerEvent timer = Utils::Timer::GetInstance().QueueCallback(callback,
        TimeoutDelta);

    _requests[id] = QSharedPointer<RequestState>(
        new RequestState(to, cb, ctime, timer, timeout));
    QVariantList container = Request::BuildRequest(id, method, data);

    QByteArray msg;
    QDataStream stream(&msg, QIODevice::WriteOnly);
    stream << container;
    qDebug() << "RpcHandler: Sending request" << id << "for" << method <<
      "to" << to->ToString();
    to->Send(msg);
    return id;
  }