LLIOSocketWriter Class Reference

An LLIOPipe implementation which writes to a socket. More...

#include <lliosocket.h>

Inheritance diagram for LLIOSocketWriter:

Inheritance graph
[legend]
Collaboration diagram for LLIOSocketWriter:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 LLIOSocketWriter (LLSocket::ptr_t socket)
 ~LLIOSocketWriter ()

Protected Member Functions

virtual EStatus process_impl (const LLChannelDescriptors &channels, buffer_ptr_t &buffer, bool &eos, LLSD &context, LLPumpIO *pump)
 Write the data in buffer to the socket.

Protected Attributes

LLSocket::ptr_t mDestination
U8mLastWritten
bool mInitialized


Detailed Description

An LLIOPipe implementation which writes to a socket.

See also:
LLIOPipe
An instance of a socket writer wraps around an LLSocket and performs non-blocking writes of the data passed in.

Definition at line 241 of file lliosocket.h.


Constructor & Destructor Documentation

LLIOSocketWriter::LLIOSocketWriter ( LLSocket::ptr_t  socket  ) 

LLIOSocketWriter

Definition at line 376 of file lliosocket.cpp.

References LLMemType::MTYPE_IO_TCP.

LLIOSocketWriter::~LLIOSocketWriter (  ) 

Definition at line 384 of file lliosocket.cpp.

References LLMemType::MTYPE_IO_TCP.


Member Function Documentation

LLIOPipe::EStatus LLIOSocketWriter::process_impl ( const LLChannelDescriptors channels,
buffer_ptr_t buffer,
bool &  eos,
LLSD context,
LLPumpIO pump 
) [protected, virtual]

Write the data in buffer to the socket.

Since the socket pipe must exist for process to make any sense, this method will return STATUS_PRECONDITION_NOT_MET if it is not known.

Parameters:
buffer Pointer to a buffer which needs processing.
bytes Number of bytes to in buffer to process.
eos True if this function is the last.
read Number of bytes actually processed.
pump The pump which is calling process. May be NULL.
context A data structure to pass structured data
Returns:
A return code for the write.

Definition at line 391 of file lliosocket.cpp.

References LLSegment::data(), LLChannelDescriptors::in(), ll_apr_warn_status(), lldebugs, llendl, mDestination, mInitialized, mLastWritten, LLMemType::MTYPE_IO_TCP, NULL, PUMP_DEBUG, S32, LLPumpIO::setConditional(), LLSegment::size(), indra::ipc::saranwrap::status(), LLIOPipe::STATUS_DONE, LLIOPipe::STATUS_OK, and LLIOPipe::STATUS_PRECONDITION_NOT_MET.

Here is the call graph for this function:


Member Data Documentation

Definition at line 274 of file lliosocket.h.

Referenced by process_impl().

Definition at line 275 of file lliosocket.h.

Referenced by process_impl().

Definition at line 276 of file lliosocket.h.

Referenced by process_impl().


The documentation for this class was generated from the following files:

Generated on Fri May 16 08:50:42 2008 for SecondLife by  doxygen 1.5.5