//Checks length first and then take length stats void getStats(struct reads *r, struct stats *s) { if ((r->r1).r_len < minLen && (r->r2).r_header == NULL) { (s->se_discarded)++; (r->r1).r_header = NULL; return; } else if ((r->r1).r_len < minLen) { (s->r1_discarded)++; (r->r1).r_header = NULL; (r->r2).r_header = NULL; return; } if ((r->r2).r_header != NULL && (r->r2).r_len < minLen) { (s->r2_discarded)++; (r->r1).r_header = NULL; (r->r2).r_header = NULL; return; } if ((r->r1).r_header != NULL) { if ((r->r1).r_len == -1) { return; } readStats(r->r1, s); if ((r->r2).r_header != NULL) { ((s->R1_length)[(r->r1).r_len])++; } else { ((s->SE_length)[(r->r1).r_len])++; } } if ((r->r2).r_header != NULL) { if ((r->r2).r_len == -1) { return; } readStats(r->r2, s); if ((r->r1).r_header != NULL) { ((s->R2_length)[(r->r2).r_len])++; } else { ((s->SE_length)[(r->r2).r_len])++; } } }
int main(int argc, char* argv[]) { size_t rx_bytes, rx_bytes_2, tx_bytes, tx_bytes_2, speed; if(readStats(&rx_bytes, "eth0", RX_BYTES)) printf("RX_BYTES = %lu B = %lf MiB\n", rx_bytes, (double)rx_bytes/MiB); if(readStats(&tx_bytes, "eth0", TX_BYTES)) printf("TX_BYTES = %lu B = %lf MiB\n", tx_bytes, (double)tx_bytes/MiB); if(readStats(&speed, "eth0", SPEED)) { printf("SPEED = %lu Mbits/s\n\n", speed); } while(1) { readStats(&rx_bytes, "eth0", RX_BYTES); readStats(&tx_bytes, "eth0", TX_BYTES); sleep(1); readStats(&rx_bytes_2, "eth0", RX_BYTES); readStats(&tx_bytes_2, "eth0", TX_BYTES); // Mesure de la bande passante size_t bandwidth_down = (rx_bytes_2 - rx_bytes); size_t bandwidth_up = (tx_bytes_2 - tx_bytes); printf("Traffic actuel bande passante :\n" "\ttéléchargement : %f KiB/s\n" "\tenvoi : %f KiB/s\n", ((double) bandwidth_down / KiB), ((double) bandwidth_up / KiB)); } return 0; }
void Connection::update() { while(bytesAvailable()) { QDataStream s(this); if (packetSize<0) { if (bytesAvailable()<4) break; s>>packetSize; // if (packetSize>1<<20) //qDebug()<<"big packet"<<packetSize; } if (bytesAvailable()<packetSize) break; // //qDebug()<<"packet size"<<packetSize; packetSize=-1; quint8 type; s>>type; // //qDebug()<<"available: "<<type; switch(type) { case MSG_INITIAL: readInitial(s); break; case MSG_STATE: readState(s); break; case MSG_SHOOT: readShoot(s); break; case MSG_HIT: readHit(s); break; case MSG_ENEMY: readEnemy(s); break; case MSG_ITEM: readItem(s); break; case MSG_GET: readGet(s); break; case MSG_DIE: for(int i=0; i<engine.bulletCounts.size(); ++i) engine.bulletCounts[i]=0; player->weapon = 1; break; case MSG_LIGHTNING: readLightning(s); break; case MSG_STATS: readStats(s); break; case MSG_CHAT: readChat(s); break; default: //qDebug()<<type; abort(); } ++packetCount; } }
StringHost::StringHost(NetworkInterface *_iface, char *_key, u_int16_t _family_id) : GenericHost(_iface) { keyname = strdup(_key), family_id = _family_id; /* Set to true if this host can be persistently written on disk */ tracked_host = false; readStats(); }
void PartitionIO<MeshType>::read (mesh_ptrtype& meshPart) { meshPart.reset(); M_meshPartIn.reset (new mesh_type); M_HDF5IO.openFile (M_fileName, M_comm, true); readStats(); readPoints(); readEdges(); readFaces(); readElements(); M_HDF5IO.closeFile(); meshPart = M_meshPartIn; M_meshPartIn.reset(); }
StringHost::StringHost(NetworkInterface *_iface, char *_key, u_int16_t _family_id) : GenericHost(_iface) { keyname = strdup(_key), family_id = _family_id; /* Purify name */ for(int i=0; keyname[i] != '\0'; i++) if((keyname[i] == '%') || (keyname[i] == '"') || (keyname[i] == '\'')) keyname[i] = '_'; /* Set to true if this host can be persistently written on disk */ tracked_host = false, queriesReceived = 0; readStats(); }
int main () { //call functions int numPlyrs; int plyrInfo[MAXPLYRS][NUMCOLS] ; numPlyrs = readStats(plyrInfo) ; //check for successful read if(numPlyrs != 0) { printHeaders() ; printPlayerPts(plyrInfo, numPlyrs) ; printTeamPts(plyrInfo, numPlyrs) ; } return 0 ; }
FileInformation::FileInformation (SignalServer* signalServer, const QString &FileName_, activefilters ActiveFilters_, activealltracks ActiveAllTracks_, int FrameCount) : FileName(FileName_), ActiveFilters(ActiveFilters_), ActiveAllTracks(ActiveAllTracks_), signalServer(signalServer), m_jobType(Parsing), streamsStats(NULL), formatStats(NULL), m_parsed(false), m_autoCheckFileUploaded(true), m_autoUpload(true), m_hasStats(false), m_commentsUpdated(false) { static struct RegisterMetatypes { RegisterMetatypes() { qRegisterMetaType<SharedFile>("SharedFile"); } } registerMetatypes; connect(this, SIGNAL(parsingCompleted(bool)), this, SLOT(parsingDone(bool))); QString StatsFromExternalData_FileName; bool StatsFromExternalData_FileName_IsCompressed=false; // Finding the right file names (both media file and stats file) static const QString dotQctoolsDotXmlDotGz = ".qctools.xml.gz"; static const QString dotQctoolsDotXml = ".qctools.xml"; static const QString dotXmlDotGz = ".xml.gz"; static const QString dotQctoolsDotMkv = ".qctools.mkv"; QByteArray attachment; if (FileName.endsWith(dotQctoolsDotXmlDotGz)) { StatsFromExternalData_FileName=FileName; FileName.resize(FileName.length() - dotQctoolsDotXmlDotGz.length()); StatsFromExternalData_FileName_IsCompressed=true; } else if (FileName.endsWith(dotQctoolsDotXml)) { StatsFromExternalData_FileName=FileName; FileName.resize(FileName.length() - dotQctoolsDotXml.length()); } else if (FileName.endsWith(dotXmlDotGz)) { StatsFromExternalData_FileName=FileName; FileName.resize(FileName.length() - dotXmlDotGz.length()); StatsFromExternalData_FileName_IsCompressed=true; } else if (FileName.endsWith(dotQctoolsDotMkv)) { attachment = FFmpeg_Glue::getAttachment(FileName, StatsFromExternalData_FileName); FileName.resize(FileName.length() - dotQctoolsDotMkv.length()); if(!QFile::exists(FileName)) { FileName = FileName + dotQctoolsDotMkv; } } if (StatsFromExternalData_FileName.size()==0) { if (QFile::exists(FileName + dotQctoolsDotXmlDotGz)) { StatsFromExternalData_FileName=FileName + dotQctoolsDotXmlDotGz; StatsFromExternalData_FileName_IsCompressed=true; } else if (QFile::exists(FileName + dotQctoolsDotXml)) { StatsFromExternalData_FileName=FileName + dotQctoolsDotXml; } else if (QFile::exists(FileName + dotXmlDotGz)) { StatsFromExternalData_FileName=FileName + dotXmlDotGz; StatsFromExternalData_FileName_IsCompressed=true; } else if (QFile::exists(FileName + dotQctoolsDotMkv)) { attachment = FFmpeg_Glue::getAttachment(FileName + dotQctoolsDotMkv, StatsFromExternalData_FileName); } } QString shortFileName; std::unique_ptr<QIODevice> StatsFromExternalData_File; if(attachment.isEmpty()) { QFileInfo fileInfo(StatsFromExternalData_FileName); shortFileName = fileInfo.fileName(); StatsFromExternalData_File.reset(new QFile(StatsFromExternalData_FileName)); } else { shortFileName = StatsFromExternalData_FileName; StatsFromExternalData_File.reset(new QBuffer(&attachment)); StatsFromExternalData_FileName_IsCompressed = true; } // External data optional input bool StatsFromExternalData_IsOpen=StatsFromExternalData_File->open(QIODevice::ReadOnly); // Running FFmpeg string FileName_string=FileName.toUtf8().data(); #ifdef _WIN32 replace(FileName_string.begin(), FileName_string.end(), '/', '\\' ); #endif string Filters[Type_Max]; if (!StatsFromExternalData_IsOpen) { if (ActiveFilters[ActiveFilter_Video_signalstats]) Filters[0]+=",signalstats=stat=tout+vrep+brng"; if (ActiveFilters[ActiveFilter_Video_cropdetect]) Filters[0]+=",cropdetect=reset=1:round=1"; if (ActiveFilters[ActiveFilter_Video_Idet]) Filters[0]+=",idet=half_life=1"; if (ActiveFilters[ActiveFilter_Video_Deflicker]) Filters[0]+=",deflicker=bypass=1"; if (ActiveFilters[ActiveFilter_Video_Entropy]) Filters[0]+=",entropy=mode=normal"; if (ActiveFilters[ActiveFilter_Video_EntropyDiff]) Filters[0]+=",entropy=mode=diff"; if (ActiveFilters[ActiveFilter_Video_Psnr] && ActiveFilters[ActiveFilter_Video_Ssim]) { Filters[0]+=",split[a][b];[a]field=top[a1];[b]field=bottom,split[b1][b2];[a1][b1]psnr[c1];[c1][b2]ssim"; } else { if (ActiveFilters[ActiveFilter_Video_Psnr]) Filters[0]+=",split[a][b];[a]field=top[a1];[b]field=bottom[b1];[a1][b1]psnr"; if (ActiveFilters[ActiveFilter_Video_Ssim]) Filters[0]+=",split[a][b];[a]field=top[a1];[b]field=bottom[b1];[a1][b1]ssim"; } Filters[0].erase(0, 1); // remove first comma if (ActiveFilters[ActiveFilter_Audio_astats]) Filters[1]+=",astats=metadata=1:reset=1:length=0.4"; if (ActiveFilters[ActiveFilter_Audio_aphasemeter]) Filters[1]+=",aphasemeter=video=0"; if (ActiveFilters[ActiveFilter_Audio_EbuR128]) Filters[1]+=",ebur128=metadata=1"; Filters[1].erase(0, 1); // remove first comma } else { readStats(*StatsFromExternalData_File, StatsFromExternalData_FileName_IsCompressed); if(signalServer->enabled() && m_autoCheckFileUploaded) { checkFileUploaded(shortFileName); } } std::string fileName = FileName_string; if(fileName == "-") fileName = "pipe:0"; Glue=new FFmpeg_Glue(fileName, ActiveAllTracks, &Stats, &streamsStats, &formatStats, Stats.empty()); if (!FileName_string.empty() && Glue->ContainerFormat_Get().empty()) { delete Glue; Glue=NULL; for (size_t Pos=0; Pos<Stats.size(); Pos++) Stats[Pos]->StatsFinish(); } if (Glue) { Glue->AddOutput(0, 72, 72, FFmpeg_Glue::Output_Jpeg); Glue->AddOutput(1, 0, 0, FFmpeg_Glue::Output_Stats, 0, Filters[0]); Glue->AddOutput(0, 0, 0, FFmpeg_Glue::Output_Stats, 1, Filters[1]); } // Looking for the reference stream (video or audio) ReferenceStream_Pos=0; for (; ReferenceStream_Pos<Stats.size(); ReferenceStream_Pos++) if (Stats[ReferenceStream_Pos] && Stats[ReferenceStream_Pos]->Type_Get()==0) break; if (ReferenceStream_Pos>=Stats.size()) { ReferenceStream_Pos = 0; for (; ReferenceStream_Pos<Stats.size(); ReferenceStream_Pos++) if (Stats[ReferenceStream_Pos] && Stats[ReferenceStream_Pos]->Type_Get()==1) //Audio break; if (ReferenceStream_Pos>=Stats.size()) Stats.clear(); //Removing all, as we can not sync with video or audio } Frames_Pos=0; WantToStop=false; startParse(); }