#pragma once #include #include #include namespace NYT { struct TTableWriterOptions; //////////////////////////////////////////////////////////////////////////////// class TClientWriter : public IProxyOutput { public: TClientWriter( const TRichYPath& path, const IRawClientPtr& rawClient, IClientRetryPolicyPtr clientRetryPolicy, ITransactionPingerPtr transactionPinger, const TClientContext& context, const TTransactionId& transactionId, const TMaybe& format, const TTableWriterOptions& options); ~TClientWriter(); size_t GetStreamCount() const override; IOutputStream* GetStream(size_t tableIndex) const override; void OnRowFinished(size_t tableIndex) override; void Abort() override; size_t GetBufferMemoryUsage() const override; void Finish(); private: const size_t BufferSize_ = 64 << 20; const bool AutoFinish_; ::TIntrusivePtr RawWriter_; }; //////////////////////////////////////////////////////////////////////////////// } // namespace NYT