Exemplo n.º 1
0
	void D3D9TimerQuery::finalize()
	{
		mFinalized = true;

		if (!isQueryValid())
		{
			mTimeDelta = 0.0f;
			return;
		}

		BOOL disjoint;
		mDisjointQuery->GetData(&disjoint, sizeof(BOOL), 0);

		if(!disjoint)
		{
			UINT64 frequency;
			mFreqQuery->GetData(&frequency, sizeof(UINT64), 0);

			UINT64 timeStart, timeEnd;
			mBeginQuery->GetData(&timeStart, sizeof(UINT64), 0);
			mEndQuery->GetData(&timeEnd, sizeof(UINT64), 0);

			UINT64 delta = timeEnd - timeStart;
			mTimeDelta = (delta/(float)frequency) * 1000.0f;
		}
		else
		{
			LOGWRN_VERBOSE("Unrealiable GPU timer query detected.");
		}
	}
Exemplo n.º 2
0
bool AbstractQueryItem::load()
{
    if (m_account == nullptr || !isQueryValid() || m_status == Loading) {
        return false;
    }

    QNetworkReply *reply = createQuery();
    setStatusAndErrorMessage(Loading, QString());

    connect(reply, &QNetworkReply::finished, this, [this, reply]() {
        QObjectPtr<QNetworkReply> replyPtr {reply};
        const QByteArray &data {replyPtr->readAll()};
        handleReply(data, replyPtr->error(), replyPtr->errorString());
        if (m_status == Loading) {
            if (replyPtr->error() != QNetworkReply::NoError) {
                qCWarning(QLoggingCategory("query-item")) << "Error happened during query";
                qCWarning(QLoggingCategory("query-item")) << "Error code:" << replyPtr->error();
                qCWarning(QLoggingCategory("query-item")) << "Error message (Qt):" << replyPtr->errorString();
                qCWarning(QLoggingCategory("query-item")) << "Error message (Twitter):" << data;
                setStatusAndErrorMessage(Error, tr("Network error. Please try again later."));
            } else {
                setStatusAndErrorMessage(Idle, QString());
            }
        }
    });

    return true;
}
Exemplo n.º 3
0
	bool D3D9TimerQuery::isReady() const
	{
		if (!isQueryValid()) // Possibly device reset, in which case query is considered done if issued
			return mQueryIssued;

		if (!mQueryIssued)
			return false;

		BOOL queryData;
		return mDisjointQuery->GetData(&queryData, sizeof(BOOL), 0) == S_OK;
	}
Exemplo n.º 4
0
	void D3D9TimerQuery::end()
	{
		if (isQueryValid())
		{
			mEndQuery->Issue(D3DISSUE_END);
			mDisjointQuery->Issue(D3DISSUE_END);
		}

		mQueryIssued = true;
		mFinalized = false;
	}
Exemplo n.º 5
0
	void D3D9TimerQuery::begin()
	{
		mQueryIssued = false;

		if (isQueryValid())
		{
			mDisjointQuery->Issue(D3DISSUE_BEGIN);
			mFreqQuery->Issue(D3DISSUE_END);
			mBeginQuery->Issue(D3DISSUE_END);
		}

		setActive(true);
	}
Exemplo n.º 6
0
bool SwAdminRpcExecStatus::execute(const HttpRequestContext& requestContext,
                                 UtlSList&                 params,
                                 void*                     userData,
                                 XmlRpcResponse&           response,
                                 ExecutionStatus&          status)
{

   bool result = false;
   status = XmlRpcMethod::FAILED;

   if (2 != params.entries())
   {
      handleExtraExecuteParam(name(), response, status);
   }
   else
   {
      if (!params.at(0) || !params.at(0)->isInstanceOf(UtlString::TYPE))
      {
         handleMissingExecuteParam(name(), PARAM_NAME_CALLING_HOST, response, status);
      }
      else
      {
         UtlString* pCallingHostname = dynamic_cast<UtlString*>(params.at(0));
         SipxRpc* pSipxRpcImpl = ((SipxRpc *)userData);

         if (!params.at(1) || !params.at(1)->isInstanceOf(UtlString::TYPE))
         {
            handleMissingExecuteParam(name(), PARAM_NAME_COMMAND, response, status);
         }
         else
         {
            if (validCaller(requestContext, *pCallingHostname, response, *pSipxRpcImpl, name()))
            {
               UtlString* query = dynamic_cast<UtlString*>(params.at(1));
               UtlString processName;

               // Make sure that the query is valid
               if (isQueryValid(*query, processName))
               {
                  UtlString stat;

                  if (isProcessActive(processName))
                  {
                     stat = PROCESS_RUNNING;
                  }
                  else
                  {
                     stat = PROCESS_NOT_RUNNING;
                  }

                  response.setResponse(&stat);
                  status = XmlRpcMethod::OK;
                  result = true;

               } // wrong Query String
               else
               {
                  // Failed to launch the command, send a fault.
                  response.setFault(SwAdminRpcMethod::FailureToLaunch, "Invalid query");
                  status = XmlRpcMethod::FAILED;
               }
            }  // validcaller
            else
            {
               status = XmlRpcMethod::FAILED;
            }
         }  // param 1 okay
      }  // param 0 okay
   } //number of parms check

   return result;
}