BazisLib::Network::HTTP::CHTTPReplyStream Class Reference

Represents an incoming data stream from HTTP server within a single connection. More...

#include <http.h>

Collaboration diagram for BazisLib::Network::HTTP::CHTTPReplyStream:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CHTTPReplyStream (const ConstManagedPointer< AIAdvancedSocket > &pSocket, CHTTPReplyHeader *pReply)
 ~CHTTPReplyStream ()
bool Valid ()
size_t Read (void *pBuffer, size_t size, bool IncompleteReadSupported)
LONGLONG GetSize ()
bool IsPartial ()
bool IsSizeKnown ()
ULONGLONG GetTotalSize ()
bool ContainsRange (ULONGLONG StartingOffset, ULONGLONG Count)
void CancelIO ()
BazisLib::ActionStatus ReadToFile (ManagedPointer< AIFile > file, PNETPROGRESSPROC pProgress=0, void *pContext=0)
 Reads stream content to a file.

Private Member Functions

 DECLARE_REFERENCE (AIAdvancedSocket, m_pSocket)
 CHTTPReplyStream (const CHTTPReplyStream &stream)
unsigned ReceiveNextChunk ()

Private Attributes

CMultiReadBuffer m_ChunkBuffer
bool m_bChunked
bool m_bNoMoreData
ULONGLONG m_Size
ULONGLONG m_Done
ULONGLONG m_TotalFileSize
ULONGLONG m_RangeStart
ULONGLONG m_RangeEnd


Detailed Description

Represents an incoming data stream from HTTP server within a single connection.

This class represents a stream of data based on a single HTTP server connection.

Remarks:
Note that such a stream is:
  • Non-seekable
  • Non-resumable in case of a connection failure
To use full-featured file functions, such as seeking and auto-reconnection, use the HTTPFile class.

Constructor & Destructor Documentation

BazisLib::Network::HTTP::CHTTPReplyStream::CHTTPReplyStream ( const CHTTPReplyStream stream  )  [inline, private]

BazisLib::Network::HTTP::CHTTPReplyStream::CHTTPReplyStream ( const ConstManagedPointer< AIAdvancedSocket > &  pSocket,
CHTTPReplyHeader pReply 
)

BazisLib::Network::HTTP::CHTTPReplyStream::~CHTTPReplyStream (  ) 


Member Function Documentation

void BazisLib::Network::HTTP::CHTTPReplyStream::CancelIO (  )  [inline]

bool BazisLib::Network::HTTP::CHTTPReplyStream::ContainsRange ( ULONGLONG  StartingOffset,
ULONGLONG  Count 
) [inline]

Here is the call graph for this function:

BazisLib::Network::HTTP::CHTTPReplyStream::DECLARE_REFERENCE ( AIAdvancedSocket  ,
m_pSocket   
) [private]

LONGLONG BazisLib::Network::HTTP::CHTTPReplyStream::GetSize (  ) 

ULONGLONG BazisLib::Network::HTTP::CHTTPReplyStream::GetTotalSize (  )  [inline]

bool BazisLib::Network::HTTP::CHTTPReplyStream::IsPartial (  )  [inline]

bool BazisLib::Network::HTTP::CHTTPReplyStream::IsSizeKnown (  )  [inline]

size_t BazisLib::Network::HTTP::CHTTPReplyStream::Read ( void *  pBuffer,
size_t  size,
bool  IncompleteReadSupported 
)

BazisLib::ActionStatus BazisLib::Network::HTTP::CHTTPReplyStream::ReadToFile ( ManagedPointer< AIFile file,
PNETPROGRESSPROC  pProgress = 0,
void *  pContext = 0 
)

Reads stream content to a file.

This method is used internally by HTTPClient

unsigned BazisLib::Network::HTTP::CHTTPReplyStream::ReceiveNextChunk (  )  [private]

bool BazisLib::Network::HTTP::CHTTPReplyStream::Valid (  )  [inline]


Member Data Documentation


The documentation for this class was generated from the following file:
SourceForge.net Logo