mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-30 13:40:50 +00:00
27 lines
519 B
C++
27 lines
519 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
namespace DB
|
|
{
|
|
|
|
/** Этот интерфейс определяет функции, которые ReadBufferAIO и WriteBufferAIO реализуют.
|
|
*/
|
|
class IBufferAIO
|
|
{
|
|
public:
|
|
IBufferAIO() = default;
|
|
virtual ~IBufferAIO() = default;
|
|
virtual std::string getFileName() const noexcept = 0;
|
|
virtual int getFD() const noexcept = 0;
|
|
|
|
public:
|
|
static const size_t BLOCK_SIZE = 512;
|
|
|
|
protected:
|
|
virtual void waitForCompletion() = 0;
|
|
virtual void swapBuffers() noexcept = 0;
|
|
};
|
|
|
|
}
|