#pragma once

#include <mapreduce/yt/interface/client.h>
#include <wmconsole/version3/wmcutil/compress.h>

namespace NWebmaster {

struct TPartitionAndOrderAwareReducer : public NYT::IReducer<NYT::TTableReader<NYT::TNode>, NYT::TTableWriter<NYT::TNode>> {

    void Do(TReader *reader, TWriter *writer) override;

    void Flush(ui32 tableId, const TString &partitionKey, const TString &orderKey,
        THolder<NUtils::TBufferedGZStream> &stream, TWriter *writer, bool isCombiner);
};

} //namespace NWebmaster
