Asynchronously fills a buffer with bytes read from an async-io-state.
async-io-state-read-buffer async-io-state buffer callback &key start end timeout error-callback user-info
cl:base-string or an 8-bit
A function designator for a function of 3 arguments.
A lower bounding index designator for buffer.
An upper bounding index designator for buffer.
nil or a positive real.
A function designator for a function of 3 arguments, or
A Lisp object.
async-io-state-read-buffer asynchronously fills the buffer buffer between start and end with bytes read from async-io-state. When buffer is full (between start and end) or the read-timeout of async-io-state has passed, the callback is called like this:
callback async-io-state buffer number-of-bytes-read
If an error occurs during the I/O operation and error-callback is non-nil, then error-callback is called with these same arguments:
error-callback async-io-state buffer number-of-bytes-read
If error-callback is
nil, then callback is called, so it should check for errors using
The default value of start is 0. The default value of end is the length of buffer.
If the operation does not finish within the state's read-timeout period then state's read-status is set to
:timeout and callback is called.
If timeout or user-info are supplied then they set read-timeout and user-info in async-io-state for this and subsequent operations.
If another read operation on the state is in progress, an error is signaled.
LispWorks User Guide and Reference Manual - 13 Feb 2015