File: measureserver.h

package info (click to toggle)
sinfo 0.0.48-2.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 3,332 kB
  • sloc: sh: 11,213; cpp: 6,722; makefile: 271; xml: 151; perl: 149
file content (50 lines) | stat: -rw-r--r-- 1,108 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#ifndef _measureserver_h
#define _measureserver_h


#include <boost/asio.hpp>
#include "cpustatmeter.h"
#include "netloadmeter.h"
#include "diskloadmeter.h"
#include "procinfometer.h"
#include <boost/signals2.hpp>


class MeasureServer
{
private:
  boost::asio::io_service & ioservice;
  boost::asio::deadline_timer timer;

  unsigned long timeCounter;

  bool sendRestartFlag;

  ProcinfoMeter procinfoMeter;
  bool procinfonow;                 // flag that is set to send process infos if the load has changed dramatically
  long listtop;

  CpustatMeter cpustatMeter;
  float lastidlepercent;

  NetloadMeter netloadMeter;
  DiskloadMeter diskloadMeter;

  std::string marker;
  int restartcounter;


public:
  MeasureServer(boost::asio::io_service& io_service, const std::string & networkcard, const std::string & _marker, bool cmdlinemode, std::list < std::string > ignoreList, long listtop);
  ~MeasureServer();

  void timerEvent();
  void restartCounterEvent();

  boost::signals2::signal<void (Message&)> sendMeasurementSignal;

  void handle_timeout(); // asio part
};


#endif // _measureserver_h