|
|
AsyncFileWriter (EventLoop& e, XorpFd fd, uint32_t coalesce = 1)
| AsyncFileWriter |
Parameters:
e | EventLoop that object should associate itself with. |
fd | a file descriptor marked as non-blocking to write to. |
coalese | the 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:
buffer | pointer to buffer. |
buffer_bytes | size of buffer in bytes. |
cb | Callback 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:
buffer | pointer to buffer. |
buffer_bytes | size of buffer in bytes. |
offset | the starting point to write from in the buffer. |
cb | Callback 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 (XorpFd, IoEventType)
| 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]
void disconnect (XorpFd fd, IoEventType type)
| disconnect |
[protected]
XorpTimer _idle_timer | _idle_timer |
[protected]
bool _disconnect_added | _disconnect_added |
[protected]