lliobuffer.h

Go to the documentation of this file.
00001 
00034 #ifndef LL_LLIOBUFFER_H
00035 #define LL_LLIOBUFFER_H
00036 
00037 #include "lliopipe.h"
00038 
00051 class LLIOBuffer : public LLIOPipe
00052 {
00053 public:
00054         LLIOBuffer();
00055         virtual ~LLIOBuffer();
00056 
00064         U8* data() const;
00065 
00069         S64 size() const;
00070 
00079         U8* current() const;
00080 
00084         S64 bytesLeft() const;
00085 
00092         void clear();
00093 
00102         enum EHead
00103         {
00104                 READ,
00105                 WRITE
00106         };
00107 
00115         EStatus seek(EHead head, S64 delta);
00116 
00117 public:
00118         /* @name LLIOPipe virtual implementations
00119          */
00121 protected:
00125         virtual EStatus process_impl(
00126                 const LLChannelDescriptors& channels,
00127                 buffer_ptr_t& buffer,
00128                 bool& eos,
00129                 LLSD& context,
00130                 LLPumpIO* pump);
00132 
00133 protected:
00134         U8* mBuffer;
00135         S64 mBufferSize;
00136         U8* mReadHead;
00137         U8* mWriteHead;
00138 };
00139 
00140 #endif // LL_LLIOBUFFER_H

Generated on Thu Jul 1 06:08:46 2010 for Second Life Viewer by  doxygen 1.4.7