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

#include <Win32AsyncFile.hpp>

Inheritance diagram for Win32AsyncFile:
Collaboration diagram for Win32AsyncFile:

Public Member Functions

 Win32AsyncFile (SimulatedBlock &fs)
virtual int init ()
virtual bool isOpen ()
virtual void openReq (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)
- 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

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 readvReq (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

Win32 Implementation of AsyncFile interface

Definition at line 28 of file Win32AsyncFile.hpp.

Member Function Documentation

void Win32AsyncFile::openReq ( Request request)
virtual

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

FIXME: Previously we had FILE_FLAG_NO_BUFFERING also set here. This has similar alignment rules to O_DIRECT on 2.4 kernels. which means we should obey the directio req as we can't do it everywhere (this seemingly "worked" in 5.0 though), e.g. by default LCP isn't aligned IO.

Implements AsyncFile.

Definition at line 42 of file Win32AsyncFile.cpp.

Here is the call graph for this function:

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

readBuffer - read into buffer

Implements AsyncFile.

Definition at line 202 of file Win32AsyncFile.cpp.

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

writeBuffer() - write into file

Implements AsyncFile.

Definition at line 257 of file Win32AsyncFile.cpp.


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