An LLIOPipe implementation which reads from a socket. More...
#include <lliosocket.h>


Public Member Functions | |
| LLIOSocketReader (LLSocket::ptr_t socket) | |
Protected Member Functions | |
| virtual EStatus | process_impl (const LLChannelDescriptors &channels, buffer_ptr_t &buffer, bool &eos, LLSD &context, LLPumpIO *pump) |
| Process the data coming in the socket. | |
An LLIOPipe implementation which reads from a socket.
An instance of a socket reader wraps around an LLSocket and performs non-blocking reads and passes it to the next pipe in the chain.
| LLIOSocketReader::LLIOSocketReader | ( | LLSocket::ptr_t | socket | ) |
| LLIOPipe::EStatus LLIOSocketReader::process_impl | ( | const LLChannelDescriptors & | channels, | |
| buffer_ptr_t & | buffer, | |||
| bool & | eos, | |||
| LLSD & | context, | |||
| LLPumpIO * | pump | |||
| ) | [protected, virtual] |
Process the data coming in the socket.
Since the socket and next pipe must exist for process to make any sense, this method will return STATUS_PRECONDITION_NOT_MET unless if they are not known. If a STATUS_STOP returned by the next link in the chain, this reader will turn of the socket polling.
| buffer | Pointer to a buffer which needs processing. Probably NULL. | |
| bytes | Number of bytes to in buffer to process. Probably 0. | |
| eos | True if this function is the last. Almost always false. | |
| read | Number of bytes actually processed. | |
| pump | The pump which is calling process. May be NULL. | |
| context | A data structure to pass structured data |
Implements LLIOPipe.

1.6.3