acl  3.5.3.0
acl::aio_fstream类 参考

#include <aio_fstream.hpp>

+ 类 acl::aio_fstream 继承关系图:
+ acl::aio_fstream 的协作图:

Public 成员函数

 aio_fstream (aio_handle *handle)
 
 aio_fstream (aio_handle *handle, int fd, unsigned int oflags=0600)
 
bool open (const char *path, unsigned int oflags, unsigned int mode)
 
bool open_trunc (const char *path, unsigned int mode=0600)
 
bool create (const char *path, unsigned int mode=0600)
 
bool open_read (const char *path)
 
bool open_write (const char *path)
 
bool open_append (const char *path)
 
- Public 成员函数 继承自 acl::aio_istream
 aio_istream (aio_handle *handle)
 
 aio_istream (aio_handle *handle, int fd)
 
void add_read_callback (aio_callback *callback)
 
int del_read_callback (aio_callback *callback=NULL)
 
int disable_read_callback (aio_callback *callback=NULL)
 
int enable_read_callback (aio_callback *callback=NULL)
 
void gets (int timeout=0, bool nonl=true, long long int delay=0, aio_timer_reader *callback=NULL)
 
void read (int count=0, int timeout=0, long long int delay=0, aio_timer_reader *callback=NULL)
 
void read_wait (int timeout=0)
 
void disable_read (void)
 
void keep_read (bool onoff)
 
bool keep_read (void) const
 
aio_istreamset_buf_max (int max)
 
int get_buf_max (void) const
 
- Public 成员函数 继承自 acl::aio_stream
 aio_stream (aio_handle *handle)
 
void close (void)
 
void add_close_callback (aio_callback *callback)
 
void add_timeout_callback (aio_callback *callback)
 
int del_close_callback (aio_callback *callback=NULL)
 
int del_timeout_callback (aio_callback *callback=NULL)
 
int disable_close_callback (aio_callback *callback=NULL)
 
int disable_timeout_callback (aio_callback *callback=NULL)
 
int enable_close_callback (aio_callback *callback=NULL)
 
int enable_timeout_callback (aio_callback *callback=NULL)
 
ACL_ASTREAMget_astream (void) const
 
ACL_VSTREAMget_vstream (void) const
 
int get_socket (void) const
 
int sock_handle (void) const
 
const char * get_peer (bool full=false) const
 
const char * get_local (bool full=false) const
 
aio_handleget_handle (void) const
 
stream_hooksetup_hook (stream_hook *hook)
 
stream_hookget_hook (void) const
 
stream_hookremove_hook (void)
 
- Public 成员函数 继承自 acl::aio_ostream
 aio_ostream (aio_handle *handle)
 
 aio_ostream (aio_handle *handle, int fd)
 
void add_write_callback (aio_callback *callback)
 
int del_write_callback (aio_callback *callback=NULL)
 
int disable_write_callback (aio_callback *callback=NULL)
 
int enable_write_callback (aio_callback *callback=NULL)
 
void write (const void *data, int len, long long int delay=0, aio_timer_writer *callback=NULL)
 
void format (const char *fmt,...) ACL_CPP_PRINTF(2
 
void void vformat (const char *fmt, va_list ap)
 
void write_wait (int timeout=0)
 
void disable_write (void)
 

Protected 成员函数

 ~aio_fstream (void)
 
virtual void destroy (void)
 
- Protected 成员函数 继承自 acl::aio_istream
virtual ~aio_istream (void)
 
void hook_read (void)
 
- Protected 成员函数 继承自 acl::aio_stream
virtual ~aio_stream (void)
 
void hook_error (void)
 
- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 
- Protected 成员函数 继承自 acl::aio_ostream
virtual ~aio_ostream (void)
 
void hook_write (void)
 

额外继承的成员函数

- Protected 类型 继承自 acl::aio_stream
enum  {
  STATUS_HOOKED_ERROR = 1, STATUS_HOOKED_READ = 1 << 1, STATUS_HOOKED_WRITE = 1 << 2, STATUS_HOOKED_OPEN = 1 << 3,
  STATUS_CONN_OPENED = 1 << 4
}
 
- Protected 属性 继承自 acl::aio_stream
aio_handlehandle_
 
ACL_ASTREAMstream_
 
stream_hookhook_
 
unsigned status_
 

详细描述

异步文件读写流,该类对象只可用在 UNIX 系统中

在文件 aio_fstream.hpp13 行定义.

构造及析构函数说明

◆ aio_fstream() [1/2]

acl::aio_fstream::aio_fstream ( aio_handle handle)

构造函数

参数
handle{aio_handle*} 异步事件句柄

◆ aio_fstream() [2/2]

acl::aio_fstream::aio_fstream ( aio_handle handle,
int  fd,
unsigned int  oflags = 0600 
)

◆ ~aio_fstream()

acl::aio_fstream::~aio_fstream ( void  )
protected

成员函数说明

◆ create()

bool acl::aio_fstream::create ( const char *  path,
unsigned int  mode = 0600 
)

以读/写方式建新文件,文件属性为 0600, 若文件不存在则创建新文件,若存在则 打开旧文件

参数
path{const char*} 文件全路径
mode{int} 打开文件句柄时的模式(如: 0600)
返回
{bool} 文件创建是否成功

◆ destroy()

virtual void acl::aio_fstream::destroy ( void  )
protectedvirtual

通过此函数来动态释放只能在堆上分配的异步流类对象

重载 acl::aio_istream .

◆ open()

bool acl::aio_fstream::open ( const char *  path,
unsigned int  oflags,
unsigned int  mode 
)

根据文件路径打开文件流, 这是最基础的打开文件的方式

参数
path{const char*} 文件名
oflags{unsigned int} 标志位, We're assuming that O_RDONLY: 0x0000, O_WRONLY: 0x0001, O_RDWR: 0x0002, O_APPEND: 0x0008, O_CREAT: 0x0100, O_TRUNC: 0x0200, O_EXCL: 0x0400; just for win32, O_TEXT: 0x4000, O_BINARY: 0x8000, O_RAW: O_BINARY, O_SEQUENTIAL: 0x0020, O_RANDOM: 0x0010.
mode{int} 打开文件句柄时的模式(如: 0600)
返回
{bool} 打开文件是否成功

◆ open_append()

bool acl::aio_fstream::open_append ( const char *  path)

以尾部添加方式打开文件,如果文件不存在则创建新文件

参数
path{const char*} 文件名
返回
{bool} 是否成功

◆ open_read()

bool acl::aio_fstream::open_read ( const char *  path)

以只读方式打开已经存在的文件

参数
path{const char*} 文件名
返回
{bool} 打开文件是否成功

◆ open_trunc()

bool acl::aio_fstream::open_trunc ( const char *  path,
unsigned int  mode = 0600 
)

以读/写方式打开文件流,当文件不存在时则创建新文件,当文件存在时则 将文件清空, 文件属性为 0700

参数
path{const char*} 文件名
mode{int} 打开文件句柄时的模式(如: 0600)
返回
{bool} 打开文件是否成功

◆ open_write()

bool acl::aio_fstream::open_write ( const char *  path)

以只写方式打开文件,如果文件不存在则创建新文件,如果文件 存在,则将文件内容清空

参数
path{const char*} 文件名
返回
{bool} 是否成功

该类的文档由以下文件生成: