blob: 71a61ed5494054ad5cc3857d95c5383106922baa (
plain) (
blame)
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
51
|
#pragma once
#include <util/stream/input.h>
#include <util/generic/ptr.h>
#include <util/generic/string.h>
#include <util/generic/iterator.h>
#include "eventlog.h"
#include "logparser.h"
namespace NEventLog {
struct TOptions {
inline TOptions& SetFileName(const TString& fileName) {
FileName = fileName;
return *this;
}
inline TOptions& SetForceStrongOrdering(bool v) {
if(!ForceLosslessStrongOrdering) {
ForceStrongOrdering = v;
}
return *this;
}
ui64 StartTime = MIN_START_TIME;
ui64 EndTime = MAX_END_TIME;
ui64 MaxRequestDuration = MAX_REQUEST_DURATION;
TString FileName;
bool ForceStrongOrdering = false;
bool ForceWeakOrdering = false;
bool EnableEvents = true;
TString EvList;
bool ForceStreamMode = false;
bool ForceLosslessStrongOrdering = false;
bool TailFMode = false;
IInputStream* Input = &Cin;
IFrameFilterRef FrameFilter;
};
class IIterator: public TInputRangeAdaptor<IIterator> {
public:
virtual ~IIterator();
virtual TConstEventPtr Next() = 0;
};
THolder<IIterator> CreateIterator(const TOptions& o);
THolder<IIterator> CreateIterator(const TOptions& o, IEventFactory* fac);
}
|