greenplumn CFileWriter 代码
文件路径:/src/backend/gporca/libgpos/include/gpos/io/CFileWriter.h
/---------------------------------------------------------------------------
/ Greenplum Database
/ Copyright (C) 2010 Greenplum, Inc.
/
/ @filename:
/ CFileWriter.h
/
/ @doc:
/ File writer
/---------------------------------------------------------------------------
#ifndef GPOS_CFileWriter_H
#define GPOS_CFileWriter_H
#include "gpos/io/CFileDescriptor.h"
namespace gpos
{
/---------------------------------------------------------------------------
/ @class:
/ CFileWriter
/
/ @doc:
/ Implementation of file handler for raw output;
/ does not provide thread-safety
/
/---------------------------------------------------------------------------
class CFileWriter : public CFileDescriptor
{
private:
/ file size
ULLONG m_file_size{0};
public:
CFileWriter(const CFileWriter &) = delete;
/ ctor
CFileWriter();
/ dtor
~CFileWriter() override = default;
ULLONG
FileSize() const
{
return m_file_size;
}
/ open file for writing
void Open(const CHAR *file_path, ULONG permission_bits);
/ close file
void Close();
/ write bytes to file
void Write(const BYTE *read_buffer, const ULONG_PTR write_size);
}; / class CFileWriter
} / namespace gpos
#endif / !GPOS_CFileWriter_H
/ EOF