greenplumn CFileWriter 源码

  • 2022-08-18
  • 浏览 (289)

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

相关信息

greenplumn 源码目录

相关文章

greenplumn CFileDescriptor 源码

greenplumn CFileReader 源码

greenplumn COstream 源码

greenplumn COstreamBasic 源码

greenplumn COstreamStdString 源码

greenplumn COstreamString 源码

greenplumn IOstream 源码

greenplumn iotypes 源码

greenplumn ioutils 源码

0  赞