diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2023-12-02 01:45:21 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2023-12-02 02:42:50 +0300 |
commit | 9c43d58f75cf086b744cf4fe2ae180e8f37e4a0c (patch) | |
tree | 9f88a486917d371d099cd712efd91b4c122d209d /library/cpp/eventlog/iterator.h | |
parent | 32fb6dda1feb24f9ab69ece5df0cb9ec238ca5e6 (diff) | |
download | ydb-9c43d58f75cf086b744cf4fe2ae180e8f37e4a0c.tar.gz |
Intermediate changes
Diffstat (limited to 'library/cpp/eventlog/iterator.h')
-rw-r--r-- | library/cpp/eventlog/iterator.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/library/cpp/eventlog/iterator.h b/library/cpp/eventlog/iterator.h new file mode 100644 index 0000000000..71a61ed549 --- /dev/null +++ b/library/cpp/eventlog/iterator.h @@ -0,0 +1,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); +} |