|
@@ -28,6 +28,24 @@ grpcclient::grpcclient(std::string stryamlpath)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+qint64 grpcclient::calclatency(qint64 nnewlatency)
|
|
|
+{
|
|
|
+ mvectorlatency.push_back(nnewlatency);
|
|
|
+ while(mvectorlatency.size()>1000)mvectorlatency.erase(mvectorlatency.begin());
|
|
|
+ qint64 nlatencytotal =0;
|
|
|
+ int nsize = mvectorlatency.size();
|
|
|
+ int i;
|
|
|
+ for(i=0;i<nsize;i++)
|
|
|
+ {
|
|
|
+ nlatencytotal = nlatencytotal + mvectorlatency.at(i);
|
|
|
+ }
|
|
|
+ if(nsize > 0)
|
|
|
+ {
|
|
|
+ nlatencytotal = nlatencytotal/nsize;
|
|
|
+ }
|
|
|
+ mnlatency = nlatencytotal;
|
|
|
+ return nlatencytotal;
|
|
|
+}
|
|
|
|
|
|
void grpcclient::threadsend(std::shared_ptr<::grpc::ClientReaderWriter<iv::UploadRequestStream, iv::UploadReplyStream> > writer,std::shared_ptr<bool> pbrun,std::shared_ptr<qint64> nlastreftime)
|
|
|
{
|
|
@@ -38,6 +56,8 @@ void grpcclient::threadsend(std::shared_ptr<::grpc::ClientReaderWriter<iv::Uploa
|
|
|
int ninterval = atoi(gstruploadinterval.data());
|
|
|
if(ninterval<=0)ninterval = 100;
|
|
|
|
|
|
+ mninterval = ninterval;
|
|
|
+ float ffraterate = 1.0f/((float)mninterval);
|
|
|
int nrawinterval = ninterval;
|
|
|
int nok = 0;
|
|
|
|
|
@@ -100,6 +120,9 @@ void grpcclient::threadsend(std::shared_ptr<::grpc::ClientReaderWriter<iv::Uploa
|
|
|
request.set_xdata(strbuf,nbytesize);
|
|
|
request.set_kepptime(nkeeptime);
|
|
|
request.set_bimportant(bImportant);
|
|
|
+ request.set_nlatency(mnlatency);
|
|
|
+ request.set_fframerate(10);
|
|
|
+ request.set_nsendtime(time1);
|
|
|
nid++;
|
|
|
|
|
|
nlastsend = xTime.elapsed();
|
|
@@ -152,6 +175,10 @@ void grpcclient::threadrecv(std::shared_ptr<::grpc::ClientReaderWriter<iv::Uploa
|
|
|
while (writer->Read(&reply)) {
|
|
|
|
|
|
*nlastreftime = QDateTime::currentMSecsSinceEpoch();
|
|
|
+ qint64 nlaten = QDateTime::currentMSecsSinceEpoch() - reply.nreqsendtime();
|
|
|
+ calclatency(nlaten);
|
|
|
+
|
|
|
+ qDebug("latency is %ld",QDateTime::currentMSecsSinceEpoch() - reply.nreqsendtime());
|
|
|
// nfail = 0;
|
|
|
// std::cout << "接收到回复:" << reply.remsg()<<"--\n" << std::endl;
|
|
|
if(reply.nres() == 1)
|