class AsyncFileWriter

Write asynchronously to non-blocking file. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Types

Protected Methods

Protected Members


Detailed Description

 AsyncFileWriter (EventLoop& e, int fd, uint32_t coalesce = 1)

AsyncFileWriter

Parameters:

eEventLoop that object should associate itself with.
fda file descriptor marked as non-blocking to write to.
coalesethe number of buffers to coalese for each write() system call.
 ~AsyncFileWriter ()

~AsyncFileWriter

void  add_buffer (const uint8_t* buffer, size_t buffer_bytes, const Callback& cb)

add_buffer

Add an additional buffer for writing from.

Parameters:

bufferpointer to buffer.
buffer_bytessize of buffer in bytes.
cbCallback object to invoke when I/O is performed.
void  add_buffer_with_offset (const uint8_t* buffer, size_t buffer_bytes, size_t offset, const Callback& cb)

add_buffer_with_offset

Add an additional buffer for writing from.

Parameters:

bufferpointer to buffer.
buffer_bytessize of buffer in bytes.
offsetthe starting point to write from in the buffer.
cbCallback object to invoke when I/O is performed.
bool  start ()

start

Start asynchronous operation.

Returns: true on success, false if no buffers are available.

Reimplemented from AsyncFileOperator.

void  stop ()

stop

Stop asynchronous operation.

Reimplemented from AsyncFileOperator.

size_t  buffers_remaining ()

buffers_remaining

[const]

Returns: the number of buffers available.

Reimplemented from AsyncFileOperator.

void  flush_buffers ()

flush_buffers

Stop asynchronous operation and clear list of buffers.

Reimplemented from AsyncFileOperator.

BufferInfo (struct)

BufferInfo

[protected]

void  write (int, SelectorMask)

write

[protected]

void  complete_transfer (ssize_t done)

complete_transfer

[protected]

uint32_t _coalesce

_coalesce

[protected]

struct iovec* _iov

_iov

[protected]

ref_ptr<int> _dtoken

_dtoken

[protected]

list<BufferInfo> _buffers

_buffers

[protected]


Generated by: pavlin on possum.icir.org on Wed Apr 13 21:52:49 2005, using kdoc $.