|
|
AsyncFileReader (EventLoop& e, XorpFd fd,
int priority = XorpTask::PRIORITY_DEFAULT)
| AsyncFileReader |
Parameters:
e | EventLoop that object should associate itself with. |
fd | a file descriptor to read from. |
~AsyncFileReader ()
| ~AsyncFileReader |
void add_buffer (uint8_t* buffer, size_t buffer_bytes, const Callback& cb)
| add_buffer |
Add an additional buffer for reading to.
Note that the buffer with the data is managed by the user.
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 (uint8_t* buffer, size_t buffer_bytes,
size_t offset, const Callback& cb)
| add_buffer_with_offset |
Add an additional buffer for reading to.
Note that the buffer with the data is managed by the user.
Parameters:
buffer | pointer to buffer. |
buffer_bytes | size of buffer in bytes. |
offset | starting point for read operation. |
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 (class) | BufferInfo |
[protected]
void read (XorpFd fd, IoEventType type)
| read |
[protected]
void complete_transfer (int err, ssize_t done)
| complete_transfer |
[protected]
list<BufferInfo *> _buffers | _buffers |
[protected]
void disconnect (XorpFd fd, IoEventType type)
| disconnect |
[protected]
XorpTask _deferred_io_task | _deferred_io_task |
[protected]
bool _disconnect_added | _disconnect_added |
[protected]