GRUTinizer
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
include
RawDataQueue.h
Go to the documentation of this file.
1
#ifndef _TDATAQUEUE_H_
2
#define _TDATAQUEUE_H_
3
4
#include <condition_variable>
5
#include <mutex>
6
#include <queue>
7
8
#include "
TRawEvent.h
"
9
#include "TStopwatch.h"
10
11
class
RawDataQueue
{
12
public
:
13
RawDataQueue
();
14
virtual
~RawDataQueue
();
15
16
TRawEvent
Pop
();
17
void
Push
(
TRawEvent
obj);
18
size_t
Size
();
19
20
void
Print
();
21
void
Status
();
22
23
private
:
24
std::mutex
mutex
;
25
std::queue<TRawEvent>
queue
;
26
std::condition_variable
can_push
;
27
std::condition_variable
can_pop
;
28
29
int
queue_number
;
30
size_t
max_queue_size
;
31
size_t
items_pushed
;
32
size_t
items_popped
;
33
34
size_t
bytes_in_queue
;
35
size_t
bytes_pushed
;
36
size_t
bytes_popped
;
37
38
static
int
num_opened
;
39
static
int
num_closed
;
40
41
TStopwatch
clock
;
42
};
43
44
#endif
/* _TDATAQUEUE_H_ */
Generated on Wed Nov 4 2015 17:27:53 for GRUTinizer by
1.8.1.2