greenplumn CFileReader 源码

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

greenplumn CFileReader 代码

文件路径:/src/backend/gporca/libgpos/include/gpos/io/CFileReader.h

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2011 EMC Corp.
//
//	@filename:
//		CFileReader.h
//
//	@doc:
//		File Reader
//---------------------------------------------------------------------------

#ifndef GPOS_CFileReader_H
#define GPOS_CFileReader_H

#include <fcntl.h>

#include "gpos/io/CFileDescriptor.h"

namespace gpos
{
//---------------------------------------------------------------------------
//	@class:
//		CFileReader
//
//	@doc:
//		Implementation of file handler for raw input;
//		does not provide thread-safety
//
//---------------------------------------------------------------------------
class CFileReader : public CFileDescriptor
{
private:
	// file size
	ULLONG m_file_size{0};

	// read size
	ULLONG m_file_read_size{0};

public:
	CFileReader(const CFileReader &) = delete;

	// ctor
	CFileReader();

	// dtor
	~CFileReader() override;

	// get file size
	ULLONG FileSize() const;

	// get file read size
	ULLONG FileReadSize() const;

	// open file for reading
	void Open(const CHAR *file_path, const ULONG permission_bits = S_IRUSR);

	// close file
	void Close();

	// read bytes to buffer
	ULONG_PTR ReadBytesToBuffer(BYTE *read_buffer,
								const ULONG_PTR file_read_size);

};	// class CFileReader

}  // namespace gpos

#endif	// !GPOS_CFileReader_H

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CFileDescriptor 源码

greenplumn CFileWriter 源码

greenplumn COstream 源码

greenplumn COstreamBasic 源码

greenplumn COstreamStdString 源码

greenplumn COstreamString 源码

greenplumn IOstream 源码

greenplumn iotypes 源码

greenplumn ioutils 源码

0  赞