MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PosixAsyncFile Class Reference

#include <PosixAsyncFile.hpp>

Inheritance diagram for PosixAsyncFile:
Collaboration diagram for PosixAsyncFile:

Classes

struct  FileGuard

Public Member Functions

 PosixAsyncFile (SimulatedBlock &fs)
virtual int init ()
virtual bool isOpen ()
virtual void openReq (Request *request)
virtual void readvReq (Request *request)
virtual void closeReq (Request *request)
virtual void syncReq (Request *request)
virtual void removeReq (Request *request)
virtual void appendReq (Request *request)
virtual void rmrfReq (Request *request, const char *path, bool removePath)
virtual int readBuffer (Request *, char *buf, size_t size, off_t offset)
virtual int writeBuffer (const char *buf, size_t size, off_t offset)
virtual void createDirectories ()
- Public Member Functions inherited from AsyncFile
 AsyncFile (SimulatedBlock &fs)
void set_buffer (Uint32 rg, Ptr< GlobalPage > ptr, Uint32 cnt)
bool has_buffer () const
void clear_buffer (Uint32 &rg, Ptr< GlobalPage > &ptr, Uint32 &cnt)
AsyncIoThreadgetThread () const

Friends

class Ndbfs
struct FileGuard

Additional Inherited Members

- Public Attributes inherited from AsyncFile
Filename theFileName
Requestm_current_request
Requestm_last_request
SimulatedBlockm_fs
- Protected Member Functions inherited from AsyncFile
virtual void readReq (Request *request)
virtual void writeReq (Request *request)
virtual void writevReq (Request *request)
- Protected Attributes inherited from AsyncFile
size_t m_write_wo_sync
size_t m_auto_sync_freq
Uint32 m_open_flags
Uint32 m_resource_group
Uint32 m_page_cnt
Ptr< GlobalPagem_page_ptr
char * theWriteBuffer
Uint32 theWriteBufferSize

Detailed Description

POSIX implementation of AsyncFile

Also does direct IO, preallocation. PREAD/PWRITE is needed to use file != thread therefor it's defined/checked here

Definition at line 41 of file PosixAsyncFile.hpp.

Member Function Documentation

void PosixAsyncFile::openReq ( Request request)
virtual

Implementers of AsyncFile interface should implement the following openReq() - open a file.

Implements AsyncFile.

Definition at line 159 of file PosixAsyncFile.cpp.

Here is the call graph for this function:

int PosixAsyncFile::readBuffer ( Request ,
char *  buf,
size_t  size,
off_t  offset 
)
virtual

readBuffer - read into buffer

Implements AsyncFile.

Definition at line 498 of file PosixAsyncFile.cpp.

int PosixAsyncFile::writeBuffer ( const char *  buf,
size_t  size,
off_t  offset 
)
virtual

writeBuffer() - write into file

Implements AsyncFile.

Definition at line 610 of file PosixAsyncFile.cpp.


The documentation for this class was generated from the following files: